在线等:一个TreeMap类,想实现先put的东西排序在前,该怎么实现Comparator接口啊 java里面,所有的容器都是可以用迭代器的。你做一个迭代器,遍历一下treemap这个容器,就可以按顺序得到你要的结果了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ArrayList list = new ArrayList();Iterator lt = list.iterator();上面的2句,第一句是声明一个list容器。第二句就是表示建一个迭代器也就是lt这个对象。其实很简单的。 我也遇到过这个问题,好像用containsKey方法时提示没有实现compareTo方法 map的话看你怎么定义的key了,也许用个for循环就能遍历集合迭代:Iterator 对于你说的这个问题,可以这样写: TreeMap map = new TreeMap(); Iterator lt1 = map.values().iterator(); Iterator lt2 = map.keySet().iterator();lt1表示是map对象的值的迭代lt2表示是map对象的key的迭代 想要先put的东西在前,楼主为什么不用ArrayListTreeMap只会用你提供的Comparator(或Comparable)这个接口的子类的的compare()方法来比较对象的“大小”,最终确定put进去的对象的顺序,具体按什么顺序,你自己override compare()方法TreeMap的遍历: TreeMap map = new TreeMap(); Iterator it = map.keySet().iterator(); while(it.hasNext()){ map.get(it.next()); } 如楼上所说,这种用list好得多,实在是要用对你的类用一个private orderby,然后有一个全局的static countorderby = count++(考虑同步)然后Comparable用这个orderby来排序 IOException编译通不过 如何替换文件中的某些字符串 如何解决我这里的死锁问题? 是否有java图像编书下载 数据库的小问题!!请教 JBuilder紧急求救 如何判断一个线程是在sleep(),还是在工作? 如何关闭URLConnection对像啊? 还是关于日期型赋值的问题 我怎么还没有搞懂包呢?恳请各位看看这个不能再简单的程序了.谢谢 Package Error 请问JAVA高手怎么用JAVA开发像QQ那样的面板呢?
Iterator lt = list.iterator();上面的2句,第一句是声明一个list容器。
第二句就是表示建一个迭代器也就是lt这个对象。其实很简单的。
迭代:Iterator
TreeMap map = new TreeMap();
Iterator lt1 = map.values().iterator();
Iterator lt2 = map.keySet().iterator();lt1表示是map对象的值的迭代
lt2表示是map对象的key的迭代
TreeMap只会用你提供的Comparator(或Comparable)这个
接口的子类的的compare()方法来比较对象的“大小”,
最终确定put进去的对象的顺序,具体按什么顺序,你自己
override compare()方法
TreeMap的遍历:
TreeMap map = new TreeMap();
Iterator it = map.keySet().iterator();
while(it.hasNext()){
map.get(it.next());
}
对你的类用一个private orderby,
然后有一个全局的static count
orderby = count++(考虑同步)
然后Comparable用这个orderby来排序