List<String[]> 數組集合轉 List<Map<String,String>>集合
今天遇到一地方是從表中讀取資料到List中,然後要把資料傳回到前端展示,是以要把List<String[]>轉為List<Map<String,String>> 寫了一個簡單的小測試,供以後參考
public class Test01 {
public static void main(String[] args) {
String[] str = {“id”,“name”,“age”,“gender”}; //表示表頭資訊
List<String[]> list = new ArrayList<>(); //存放表資料
String[] s1 = {"1","小明","18","男"}; //從表中讀取出來的資料
String[] s2 = {"2","小強","19","男"};
String[] s3 = {"3","小花","17","女"};
String[] s4 = {"4","小紅","18","女"};
list.add(s1); //把列資料添加到集合中
list.add(s2);
list.add(s3);
list.add(s4);
List<Map<String,String>> mapList = new ArrayList<>();
for (int i = 0; i <list.size() ; i++) {
Map<String,String> map = new HashMap<>(); //每循環一條資料就建立一個Map
for(int j = 0; j < list.get(i).length; j++){
map.put(str[j],list.get(i)[j]); //表頭和字段的長度是相同的,可以同用索引
}
mapList.add(map);
}
//列印給果
for(Map<String,String> ma : mapList){
for(Map.Entry<String,String> m : ma.entrySet()){
System.out.println(m.getKey()+"---"+m.getValue());
}
System.out.println("-------------");
}
}
}
列印給果如下:
