java:TreeSet命令

Enz*_*nzo 8 java treeset

使用此代码,我得到此输出:

 TreeSet<String> t=new TreeSet<String>();
  t.add("test 15");
  t.add("dfd 2");
  t.add("ersfd 20");
  t.add("asdt 10");


 Iterator<String> it=t.iterator();

 while(it.hasNext()){
   System.out.println(it.next);
 }
Run Code Online (Sandbox Code Playgroud)

我明白了:

  asdt 10 
  dfd 2 
  ersfd 20 
  test 15
Run Code Online (Sandbox Code Playgroud)

如何根据数字,使用TreeSet获得此类订单?

  dfd 2 
  asdt 10 
  test 15
  ersfd 20 
Run Code Online (Sandbox Code Playgroud)

jgi*_*ter 12

TreeSet实现按您插入的字符串值的字典顺序排序.如果要按整数值排序,则需要像其他人建议的那样进行排序并创建新对象并覆盖compareTo方法,或使用自己的比较器.

Set<String> set = new TreeSet<String>(new Comparator<String>() {

    public int compare(String one, String other) {
        // implement
    }

});
Run Code Online (Sandbox Code Playgroud)

要么

public class MyClass implements Comparable {
    private String key;
    private int value;

    public int compareTo(MyClass other) {
        // implement
    }

    public boolean equals(MyClass other) {
        // implement
    }

    // snip ...
}

Set<MyClass> set = new TreeSet<MyClass>();
Run Code Online (Sandbox Code Playgroud)