首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

Map和List操作的有关问题

2012-03-08 
Map和List操作的问题有以下数据:ListString listnew ArrayListString()list.add(21)list.add(21

Map和List操作的问题
有以下数据:
List<String> list=new ArrayList<String>();
  list.add("21");
  list.add("21");
  list.add("29");
  list.add("23");
  list.add("06");
  list.add("12");
  list.add("21");
  list.add("06");
  list.add("26");
  list.add("19");
集合中的数据已排序:
Collections.sort(list,new Comparator<String>(){
  public int compare(String o1, String o2) {
  String s1 = (String)o1;
  String s2 = (String)o2;
  return s1.compareToIgnoreCase(s2);
  }
});
声明容器:
Map<String,List<String>> m = new HashMap<String,List<String>>();
要做的是以list中的数据做为Map的key,Map的值是不论数字是否重复都加到List,期望的结果是这样:
{06=[06,06],12=[12],19=[19],21=[21,21,21],23=[23],26=[26],29=[29]}

请高手帮助~

[解决办法]

Java code
Map<String,List<String>> m = new LinkedHashMap<String,List<String>>();        for(String key : list){            List<String> vals = m.get(key);            if(vals == null){                vals = new ArrayList<String>();                m.put(key, vals);            }            vals.add(key);        }        System.out.println(m); 

热点排行