黑马程序员技术交流社区
标题:
关于TreeMap和TreeSet
[打印本页]
作者:
赵耿
时间:
2015-3-13 12:20
标题:
关于TreeMap和TreeSet
我想求教大神们,在TreeMap和TreeSet中,如果想取出的字符串元素顺序是其存入的顺序,而不是其本身的自然顺序,怎么实现呢?或者说,它的比较器应该怎么构造呢?
作者:
wdhm5423
时间:
2015-3-13 15:52
public class Test {
public static void main(String[] args) {
TreeSet ts=new TreeSet(new Comparator() {
public int compare(Object o1, Object o2) {
return 1;//1表示后面的比前面大,按传入顺序排序
}
});
ts.add("1");
ts.add(1);
ts.add(false);
ts.add("b");
ts.add("a");
System.out.println(ts);
}
}
复制代码
作者:
付家辉
时间:
2015-3-13 16:03
TreeMap基于红黑树(Red-Black tree)实现的,该映射根据其键的自然顺序进行排序,创建映射时提供的 Comparator 进行排序,TreeMap(Comparator<? super K> comparator)。TreeSet使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,TreeSet(Comparator<? super E> comparator) ;TreeSet可以通过Iterator取出值,TreeMap可以根据get(key)取出相对应的值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2