主要是运用了List的add和addAll方法
先说一下List的add与addAll方法的区别:
result.add(list);//将list作为一个元素加入到result中,则result.size()==1
result.addAll(list);//将list中的每一个元素都加入到result中,则result.size() == list.size();
add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会令当前的List也只会增加一个元素;
addAll是传入一个List,将List中全部元素都加到当前List中,也就是当前List会增加的元素个数为传入List的元素个数;
下面是一些具体的代码:
//result 从数据库获取到的全部数据
List<Map<String,Object>> result = new ArrayList<Map<String,Object>>();
//list1 list2 list3 为重新排序的list
List<Map<String,Object>> list1 = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> list2 = new ArrayList<Map<String,Object>>();
List<Map<String,Object>> list3 = new ArrayList<Map<String,Object>>();
//遍历result 重新组装数据
for (Map<String, Object> map : result) {
if(map.get("pattern").equals("AUTOR")){
list1.add(map);
}else if(map.get("pattern").equals("OFF")){
list2.add(map);
}else {
list3.add(map);
}
}
//重新组装的数据全部放在list中
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.addAll(list1);
list.addAll(list2);
list.addAll(list3);
return list;
这样返回的list就是按照需求排好序的全部数据集合;