4.9w+
社区成员
static boolean flag = true;
public static void main(String[] args) {
List<Map<String, Object>> ceshi = new ArrayList<Map<String, Object>>();
Map<String,List<Object>> maps = new HashMap<String,List<Object>>();
Map<String, Object> a = new HashMap<String, Object>();
Map<String, Object> b = new HashMap<String, Object>();
Map<String, Object> c = new HashMap<String, Object>();
Map<String, Object> d = new HashMap<String, Object>();
a.put("xingbie", "男");
a.put("ceshizhi", "100");
b.put("xingbie", "男");
b.put("ceshizhi", "110");
c.put("xingbie", "女");
c.put("ceshizhi", "90");
d.put("xingbie", "女");
d.put("ceshizhi", "98");
ceshi.add(a);
ceshi.add(b);
ceshi.add(c);
ceshi.add(d);
getMap(ceshi.get(0),ceshi,maps);
System.out.println(maps);
}
public static void getMap(Map<String, Object> map,
List<Map<String, Object>> list, Map<String,List<Object>> maps){
while(flag){
List<Object> lists = new ArrayList<Object>();
lists.add(map.get("ceshizhi"));
for (int i = 1; i < list.size(); i++) {
if(map.get("xingbie").equals(list.get(i).get("xingbie"))){
lists.add(list.get(i).get("ceshizhi"));
}
maps.put((String) map.get("xingbie"), lists);
}
list.remove(0);
for (int i = 0; i < list.size(); i++) {
if(map.get("xingbie").equals(list.get(i).get("xingbie"))){
list.remove(i);
}
}
if(list.size() > 0){
getMap(list.get(0),list,maps);
}else{
flag = false;
break;
}
}
}
{女=[90, 98], 男=[100, 110]}
public static void main(String[] args) {
List<Map<String,Object>> ceshi = new ArrayList<>();
Map<String,Object> a = new HashMap<>();
Map<String,Object> b = new HashMap<>();
Map<String,Object> c = new HashMap<>();
Map<String,Object> d = new HashMap<>();
a.put("xingbie", "男");
a.put("ceshizhi", "100");
b.put("xingbie", "男");
b.put("ceshizhi", "110");
c.put("xingbie", "女");
c.put("ceshizhi", "90");
d.put("xingbie", "女");
d.put("ceshizhi", "98");
ceshi.add(a);
ceshi.add(b);
ceshi.add(c);
ceshi.add(d);
Map<String, Object> myMap = new HashMap<>();
for (Map<String, Object> map : ceshi) {
if(myMap.containsKey(map.get("xingbie").toString())){
@SuppressWarnings("unchecked")
List<String> value = (List<String>) myMap.get(map.get("xingbie").toString());
value.add(map.get("ceshizhi").toString());
myMap.put(map.get("xingbie").toString(),value);
}else{
String valeu = map.get("ceshizhi").toString();
List<String> list = new ArrayList<>();
list.add(valeu);
myMap.put(map.get("xingbie").toString(), list);
}
}
for(Map.Entry<String, Object> map : myMap.entrySet()){
System.out.println(map.getKey().toString()+"--->"+map.getValue().toString());
}
}
女--->[90, 98]
男--->[100, 110]
public static void main(String[] args) throws Exception {
List<Map<String,Object>> ceshi = new ArrayList<>();
Map<String, List> result = Maps.newHashMap();
Map a = new HashMap<>();
Map b = new HashMap<>();
Map c = new HashMap<>();
Map d = new HashMap<>();
a.put("xingbie", "男");
a.put("ceshizhi", "100");
b.put("xingbie", "男");
b.put("ceshizhi", "110");
c.put("xingbie", "女");
c.put("ceshizhi", "90");
d.put("xingbie", "女");
d.put("ceshizhi", "98");
ceshi.add(a);
ceshi.add(b);
ceshi.add(c);
ceshi.add(d);
Lists.newArrayList(a, b, c, d).forEach(data -> {
if (result.containsKey(data.get("xingbie"))) {
result.get(data.get("xingbie")).add(data.get("ceshizhi"));
} else {
result.put(data.get("xingbie").toString(), Lists.newArrayList(data.get("ceshizhi")));
}
});
System.out.println(result);
}