List
/**
* list 存储 =》 [{NO:"01",ID:"1001"},{NO:"02",ID:"1002"}]
* map存储 =》[{ID:"1002"},{NAME:"02"},{sex:"女"}]
* ID为唯一值,根据ID来合并map值
* 得到结果为:list=》[{NO:"01",ID:"1001"},{NO:"02",ID:"1002"},{NAME:"02"},{sex:"女"}]
*/
List list2 = new ArrayList(); //用另外一个list集合来保存数据
for (int i = 0; i < list.size(); i++) {
Map getMap=new HashMap();
Map data=(HashMap) list.get(i);
String NO= String.valueOf(data.get("NO"));
String ID=String.valueOf(data.get("ID"));
//根据ID来匹配是否
getMap.put("NO", NO);
getMap.put("ID", ID);
for(Map.Entry<String,String> entry : map:entrySet(){
String key = entry.getKey();
String value = entry.getValue();
if(key.equals("ID")){ //key.equals("ID")
if(key.equals(ID){
getMap.putAll(map); //putAll : 添加map全部数据
list2.add(getMap);
}
}
}
}
Map遍历的几种方式
Map<String,String> map=new HashMap<String,String>();
//用for循环
for(Map.Entry<String, String> entry:map.entrySet()){
String key= entry.getKey().toString(); //entry.getKey() 获取key值
String value=entry.getValue().toString(); //entry.getValue() 获取value值
}
//用迭代
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry=(Map.Entry<String, String>) i.next();
//entry.getKey() 获取key
//entry.getValue() 获取value
}
//用entrySet迭代
// Iterator i =map.entrySet().iterator();
Iterator<Map.Entry<String,String>> i=map.entrySet().iterator();
//长度: map.entrySet().size()
while(i.hasNext()){
//Map.Entry entry = (Map.Entry)i.next();
Map.Entry<String,String> entry=it.next();
String key=entry.getKey().toString();
String value=entry.getValue().toString();
//entry.getKey() 获取key
//entry.getValue() 获取value
}
如果只需要map的key或者value,用map的keySet或values方法无疑是最方便的
/**
* 获取key的值
*/
for(Object key : getSeriesMap.keySet()){
Object value = getSeriesMap.get(key);
System.out.println("value1:");
System.out.println(value);
}
for(Object value : getSeriesMap.values()){
System.out.println("value2:");
System.out.println(value.toString());
}```