TreeMap作为键值对存储,当键中放的是整数和字符串没什么问题,当键为实体时,需要实现Comparator接口的compare方法,并且在这个实体类里重写的equals、hashCode方法,如声明如下TreeMap:
Map<Model, List<Model>> orderList = Collections.synchronizedMap(new TreeMap<Model, List<Model>>();
//Collections.synchronizedMap这里这么做是为了保证线程安全
在Model实体类里放的equals方法:
public int hashCode(){
//你自己的hashCode算法;
}
public int compare(Object obj){
//compare实现
return 0;
}
public boolean equals(Object obj){
//equals算法
return false;
}
以上得到hashCode的算法和equals的算法最好是比较真实的算法, 可以根据该model里的某个具体的属性hashCode来比较,最好是不要返回该类的hashCode,这样就没啥意义了。
分享到:
相关推荐
TreeMap按VALUE排序
在JavaEE中 TreeMap排序的问题
本资源提供了List对对象中的属性和TreeMap, String>对键值排序,并针对100w条数据排序,对比List和TreeMap, String>排序的效率。个人认为排序效率对比可以相信,但也可能存在不科学之处,还请高手给与指点,多多包涵...
主要介绍了JAVA使用TreeMap对字符串进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
下面小编就为大家带来一篇浅谈java中的TreeMap 排序与TreeSet 排序。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Java TreeMap排序算法,结合实例形式分析了TreeMap排序算法的原理、实现方法与相关注意事项,需要的朋友可以参考下
java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
1、JsonObject中的数据是key-value形式,通过JsonObject的keys方法得到key的迭代器是无序的,要想实现排序,目前只能通过加装一层处理(方法来自Stack Overflow,感谢大神),将key-vlaue放入ThreeMap排序,排序规则...
本篇文章主要介绍了java中TreeMap排序的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
vue 2.x echarts treemap带示例数据及效果图,及在对话框里显示的处理方法
TreeMap源码是基于数据结构中的红黑树进行设计并开发的。
TreeMap自己的理解
TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 HashMap的值是没有顺序的,它是按照...
JAVA中用TREEMAP做的,可以求学生的总分,总分的平均值,最大值最小值
在eclipse上用java实现统计一句话或一段话中单词出现的个数,并按照字母表顺序输出,并利用treemap实现
Treemap-4.1.2.zip tree map开发代码,可用于创建tree map
TreeMap例子GDP
Java TreeMap源码解析 Java TreeMap源码解析 Java TreeMap源码解析
编写一个应用程序,使用TreeMap,V>类,分别按照价格和容量排序并输出10个硬盘的详细信息 9_5.编写一个应用程序,要求将LinkedList创建的对象写入到文件,然后读出一个LinkedList对象,并遍历LinkedList节点中的数据
C#实现的树图和放射环算法,信息可视化领域