接到一个大队排班的需求,需要安排多个大队值班,并且值班人员需要安排两个人,然后展示到页面列表上,这个可以再建个表关联主表解决,但我当时已经做到一半了,然后就想到了用List<Map<String, String>>来存储各大队值班人员数据,下面整理了用到的一些方法
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = null;
//添加测试数据
for (int i = 0; i < 3; i++) {
map = new HashMap<String, String>();
map.put("id",String.valueOf(i));//大队Id
map.put("dutyUser","张三,李四"+i);//值班人员
list.add(map);
}
//遍历list
for (Map<String, String> map1 : list) {
//遍历map
for (Map.Entry<String, String> entry : map1.entrySet()){
System.out.println( entry.getKey() + " " +entry.getValue());
}
}
//List<Map<String,String>>转String
String string = list.toString();
System.out.println(string);
//String转List<Map<String,String>>
Gson gson = new Gson();
List<Map<String,String>> list1 = gson.fromJson(string, new TypeToken<List<Map<String, String>>>() {}.getType());
//删除指定ID
for (Map<String, String> map1 : list1) {
if(map1.get("id").equals("1")){
list1.remove(map1);
}
}
//重新遍历
for (Map<String, String> map1 : list1) {
for (Map.Entry<String, String> entry : map1.entrySet()){
System.out.println( entry.getKey() + " " +entry.getValue());
}
}
输出结果为:
id 0
dutyUser 张三,李四0
id 1
dutyUser 张三,李四1
id 2
dutyUser 张三,李四2
[{id=0, dutyUser=张三,李四0}, {id=1, dutyUser=张三,李四1}, {id=2, dutyUser=张三,李四2}]
id 0
dutyUser 张三,李四0
id 2
dutyUser 张三,李四2