『壹』 java list轉map
Map<String,ArrayList<String[2]>>
將value轉為數組存入list作為Map的Value
『貳』 java,list數組轉換成map
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
publicclassTestArray{
publicstaticvoidmain(String[]args){
/**
*初始化一個List,存放String數組,數組的第一位是amount,第二位是year,第三位是month,第四位是day。
*/
List<String[]>arr=newArrayList<String[]>();
arr.add(newString[]{"89","2015","06","21"});
arr.add(newString[]{"89","2015","06","22"});
arr.add(newString[]{"89","2015","06","23"});
/**
*創建一個StringBuffer臨時存放map.key。
*/
StringBufferkey=newStringBuffer();
/**
*建一個map對象,
*/
Map<String,String>map=newHashMap<String,String>();
for(inti=0;i<arr.size();i++){
//獲取List中的String數組元素。
String[]element=arr.get(i);
//數組的第二位、第三位、第四位拼接成key。
key.append(element[1]).append(element[2]).append(element[3]);
//數組的第一位拼接成value,初始化map。
map.put(key.toString(),element[0]);
//臨時的StringBuffer清空內容以便下次循環繼續使用。
key.delete(0,key.length());
}
//列印map
System.out.println(map.toString());
}
}
輸出效果:
『叄』 java中怎麼list 轉成 map
list 轉成 map 單列轉成雙列,那就需要自己定義一列不重復的數據作為map的key;。
『肆』 java list轉成map問題 map可轉成鍵值對形式
packagecom.cnsuning.com;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
publicclassListToMap{
publicstaticvoidmain(String[]args){
List<String>test=newArrayList<String>();
test.add("domainxn--qprw22hopc.biz");
test.add("term10");
test.add("creation");
test.add("date2017-04-28");
test.add("ns1NS3.MAINONE.COM");
Map<String,String>result=listToMap(test);
System.out.println(result.get("domain"));
}
publicstaticMap<String,String>listToMap(List<String>data){
Map<String,String>result=newHashMap<String,String>();
for(inti=0;i<data.size();i++){
String[]temp=data.get(i).split("[\s]+");
if(temp.length==2){
result.put(temp[0],temp[1]);
}elseif(temp.length==1){
result.put(temp[0],null);
}
}
returnresult;
}
}
你應該是在寫一個網路相關的程序吧?!這個是給你的大致思路,其實你需要在轉換的過程中判斷key的類型,然後把value設置成對應的對象,比如key=「date」的時候,那麼value其實應該是Date類型的,而不是String類型!這時候Map應該是Map<String,Object>
『伍』 java Map<String,ArrayList<String>> 如何轉化為Map<String,List<String>>
list是個介面,arrayList是個實體類。。。
你要是有需求這樣轉化就相當於要將arrayList轉化為List
如果真出現這種情況就說明你聲明的就出了問題
要轉化也可以,只不過也沒必要
轉化的方法:重新定義一個Map對象,將其泛型定義為<String,List<String>>
然後給此Map賦予以前的key
例子:
//模擬已存在的Map<String, ArrayList<String>>類型數據
//其key為"number",value為1-100
ArrayList<String> arList = new ArrayList<String>();
Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();
for (int i = 0; i < 100; i++) {
arList.add((1+i)+"");
}
map.put("number", arList);
//模擬數據結
List<String> list = new ArrayList<String>();
list.addAll(arList);
Map<String,List<String>> map2 = new HashMap<String,List<String>>();
map2.put("number", list);
如果key為多個值,請用iterator進行全部遍歷。
另外,出方法的時候最好將原有的引用置空,以方便GC可以在第一時間回收
『陸』 java中,下面的List怎麼放入map裡面,求高手!
你首先要了解什麼是Map,可以理解為Map是一堆key和value的映射集合(或者說一堆鍵值對的集合)。
List list = new ArrayList();
Map map = new HashMap();
list.add("a");
list.add("c");
list.add("b");
for(int i =0;i<list.size();i++){
map.put(i, list.get(i));
}
然後你要用Map里的東西,可以使用map.get(1)這種形式獲取,他和list.get(1);
相等都為「c」。
另外建議初始化Map和List的時候,定義好所存的數據類型。
List<String>
list
=
new
ArrayList<String>();
Map<Integer,
String>
map
=
new
HashMap<Integer,
String>();
『柒』 在java中,現在我有兩個list 分別是國家list,數據list ,怎麼把它寫到一個map裡面 map<國家,數據>
MAP裡面存的是是<key,value>這樣的鍵值對,你希望存的是<某國,某數據>這種格式么?
那麼用hashmap的set方法。用國家這個list country.get(i) 獲取國家名,然後就是用循環得到list裡面的數據。set(country.get(i),date.get(i) )。
『捌』 java List<Map<String,Object>> 集合轉換集合 Map<String,List<String>> 在線等 謝謝
List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();//你的list
//聲明一個Map用於返回
Map<String,List<String>> map=new HashMap<String,List<String>>();
//循環你拿來的List
for(int i=0;i<list.size();i++){
Map<String,Object> m=list.get(i);
for (String key:m.keySet()) {
List<String> l=map.get(key);
if(l!=null){
l.add((String)m.get(key));
}else{
List<String> newL=new ArrayList<String>();
newL.add((String)m.get(key));
map.put(key, newL);
}
}
}
return map;
注意下:你原來返回的List里裝的事Object我強轉了一下String,沒放到工具里
『玖』 java的List<Map>用法
//存放所有學生信息
List<Map<String,Object>> listStudentInfo=new ArrayList<Map<String,Object>>();
//定義學生1的一些屬性
Map<String,Object> stu1=new HashMap<String, Object>();
stu1.put("sId", 111);//學號
stu1.put("sName", "張三");//姓名
stu1.put("sSex", "男");//性別
listStudentInfo.add(stu1);
//定義學生2的一些屬性
Map<String,Object> stu2=new HashMap<String, Object>();
stu2.put("sId", 112);//學號
stu2.put("sName", "李四");//姓名
stu2.put("sSex", "女");//性別
listStudentInfo.add(stu2);
//得到所有學生信息
for( Map<String,Object> stu:listStudentInfo)
{
System.out.println("學號:"+stu.get("sId")+" 姓名:"+stu.get("sName")+" 性別:"+stu.get("sSex"));
}