读书人

List 怎么转换成MAP

发布时间: 2012-04-11 17:42:33 作者: rapoo

List 如何转换成MAP
一个list数据如下
[[a,1],[a,2],[a,3],[s,1],[s3]]
要转成 MAP 数据格式如下
[a,list1] list1={1,2,3}
[s,list2] list2={1,3}
for (int i = 0; i < list.size(); i++) {
Object[] s=list.get(i);
怎么写现在???
}


[解决办法]
最开始定义HashMap map;

for (int i = 0; i < list.size(); i++) {
Object[] s=list.get(i);
if (!map.containsKey(s[0])) {
map.put(s[0], new ArrayList());
}
List lst = map.get(s[0]);
lst.add(s[1]);
}





[解决办法]

Java code
import java.util.ArrayList;import java.util.HashMap;import java.util.List;public class Test{    static List<Object[]> list= new ArrayList<Object[]>();        public static void main(String args[]){        Object a = new Object();        Object s = new Object();        Object[] o1= {a,1};        Object[] o2= {a,2};        Object[] o3= {a,3};        Object[] s1= {s,1};        Object[] s2= {s,3};        list.add(o1);list.add(o2);list.add(o3);list.add(s1);list.add(s2);        HashMap<Object,List> map = new HashMap<Object,List>();        for (int i = 0; i < list.size(); i++) {              Object[] array=list.get(i);              if(map.containsKey(array[0])){                  map.get(array[0]).add(array[1]);              }              else{                  List list= new ArrayList();                  list.add(array[1]);                  map.put(array[0],list);              }        }        System.out.println(map.size());        System.out.println(map.get(a));        System.out.println(map.get(s));    }} 

读书人网 >J2SE开发

热点推荐