java – 带有Comparator <?>参数的TreeSet构造函数

Java的类TreeSet文档中,其中一个构造函数显示为具有以下标题:

TreeSet(Comparator<? super E> c)

有人可以帮助解释为什么TreeSet的构造函数将比较器对象作为其参数吗?我不知道为什么要这样做.

解决方法:

TreeSet中的元素保持排序.

如果使用没有Comparator的构造函数,则元素类的自然顺序(由Comparable的实现定义)将用于对TreeSet的元素进行排序.

如果需要不同的顺序,可以在构造函数中提供Comparator.

上一篇:java – 在TreeSet中,基于不同属性的自定义对象的排序和唯一性


下一篇:HashSet 和 TreeSet的区别