你遇到过这个问题么?TreeMap 自定义比较器时 两种遍历的中keySet()遍历取不到值??? 本帖最后由 bareheadzzq 于 2011-10-17 10:34:37 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package com.class81.network.address;import java.util.Comparator;import java.util.Iterator;import java.util.Map;import java.util.TreeMap;public class TestMap { public static void main(String[] args) {//TreeMap 实现按元素的放入顺序排序,时只能用entrySet进行遍历,不能用KeySet()遍历// 所以Map集合尽量用entrySet()进行遍历 TreeMap<String, String> map = new TreeMap<String, String>( new Comparator<String>() { public int compare(String o1, String o2) { return 1; } } ); map.put("dd", "valuedd"); map.put("bb", "valuebb"); map.put("aa", "valueaa"); System.out.println(map); System.out.println(map.get("dd")); //还是要与Map中的键进行比较,而自定义比较器中都是return 1;所以找不到=的。 for (Iterator<Map.Entry<String, String>> iter = map.entrySet()// 返回此映射中包含的映射关系的 Set 视图。该 set 的迭代器将按升序返回这些条目 .iterator(); iter.hasNext();) { Map.Entry<String, String> entry = iter.next(); System.out.println("key=" + entry.getKey()); System.out.println("value=" + entry.getValue()); } }}/*{dd=valuedd, bb=valuebb, aa=valueaa}nullkey=ddvalue=valueddkey=bbvalue=valuebbkey=aavalue=valueaa * * */ Java蓝桥杯第一次模拟运送马匹问题 window.confirm()是哪里的函数? 一个JAVA中swing编程的问题 java中如何控制一个方法的最多执行时间? 搞不懂哦,这句话怎么会不对呢? 这个Text 文件要如何处理呢? 复数的运算和优化 java如何在linux下实现系统托盘 如何在CS通讯下传递对象,高分求解 数学问题:什么是位与,位或,>>和>>> 补码的问题 sql错误,信息我没看懂,高手请进
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;public class TestMap {
public static void main(String[] args) {
//TreeMap 实现按元素的放入顺序排序,时只能用entrySet进行遍历,不能用KeySet()遍历
// 所以Map集合尽量用entrySet()进行遍历
TreeMap<String, String> map = new TreeMap<String, String>(
new Comparator<String>() {
public int compare(String o1, String o2) {
return 1;
}
}
);
map.put("dd", "valuedd");
map.put("bb", "valuebb");
map.put("aa", "valueaa");
System.out.println(map);
System.out.println(map.get("dd"));
//还是要与Map中的键进行比较,而自定义比较器中都是return 1;所以找不到=的。 for (Iterator<Map.Entry<String, String>> iter = map.entrySet()
// 返回此映射中包含的映射关系的 Set 视图。该 set 的迭代器将按升序返回这些条目
.iterator(); iter.hasNext();) {
Map.Entry<String, String> entry = iter.next();
System.out.println("key=" + entry.getKey());
System.out.println("value=" + entry.getValue());
}
}
}/*
{dd=valuedd, bb=valuebb, aa=valueaa}
null
key=dd
value=valuedd
key=bb
value=valuebb
key=aa
value=valueaa *
*
*/