与HashSet的区别在于TreeSet可以排序具体实现流程如下

  1. 当我们使用无参构造器,创建TreeSet时,仍然是无序的
  2. 当希望添加的元素,按照字符串大小来排序
  3. 使用TreeSet 提供的一个构造器,可以传入有一个比较器(匿名内部类)
package top.ltyzqhh.collection;

import java.util.Comparator;
import java.util.TreeSet;

public class TreeSet_ {
    public static void main(String[] args) {

        TreeSet treeSet = new TreeSet(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                //调用字符大小比较(String的compareTo方法)
                return ((String)o1).compareTo((String)o2);
            }
        });

        treeSet.add("jack");
        treeSet.add("tom");
        treeSet.add("tocm");
        treeSet.add("sp");
        treeSet.add("a");
        System.out.println("treeSet="+treeSet);
    }
}