List into Map
package list_into_map;
import java.awt.image.Kernel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* list 集合放在map中
* @author root
* @version V1.0
* @Package list_into_map
* @date 2020/9/9 19:09
*/
public class List_Into_Map {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
Map<Integer,String> map = new HashMap<Integer,String>();
list.add("a");
list.add("b");
list.add("c");
//取出元素一个一个存放
for(int i = 0; i < list.size(); i++){
map.put(i,list.get(i));
}
for (Map.Entry<Integer,String> entry : map.entrySet()) {
System.out.println(entry.getKey()+","+entry.getValue());
}
//map.forEach((k,v) -> System.out.println(k+" "+ v));
test1(list);
test2();
}
//直接放入
public static void test1(List list){
Map<String,List> map = new HashMap<String,List>();
//list 放在map中
map.put("list",list);
//取出的时候注意类型转换
List list2 = (List)map.get("list");
for (Object item : list2) {
System.out.println(item);
}
}
public static void test2(){
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
Map<String,String> map = new HashMap<String,String>(list.size());
for (int i = 0; i < list.size(); i++) {
map.put(list.get(i).toString(), list.get(i).toString());
}
map.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
}
}
Map into List
package Test;
import java.util.*;
public class Test {
public static void main(String[] args) {
//第一种:直接加入
List<Map<String, Object>> list1 = new ArrayList<Map<String, Object>>();
Map<String, Object> m1 = new HashMap<String, Object>();
m1.put("age", "55");
m1.put("name", "66");
list1.add(m1);
System.out.println(list1);
//[{name=66, age=55}]
//第二种:直接插入,但是key永远只对应一个value
List<Map<String, Object>> list2 = new ArrayList<Map<String, Object>>();
Map<String, Object> m = new HashMap<String, Object>();
m.put("age", "55");
m.put("name", "66");
list2.add(m);
for (Map<String, Object> m2 : list2) {
m2.put("key", "123");
}
System.out.println(list2);
//[{name=66, age=55, key=123}]
//第三种:能插入多个值,就是一个key能对应多个value
List<Map<String, Object>> list3 = new ArrayList<Map<String, Object>>();
Map<String, Object> m3 = new HashMap<String, Object>();
m3.put("age", "55");
m3.put("name", "66");
for (int i = 0; i < 2; i++) {
Map<String, Object> mm = new HashMap<String, Object>();
mm.putAll(m3);
mm.put("key1", i);
list3.add(mm);
}
System.out.println(list3);
//[{name=66, key1=0, age=55}, {name=66, key1=1, age=55}]
}
}