本帖最后由 bareheadzzq 于 2011-10-17 10:34:37 编辑

解决方案 »

  1.   

    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}
    null
    key=dd
    value=valuedd
    key=bb
    value=valuebb
    key=aa
    value=valueaa * 
     * 
     */