我在输入中有一个包含 N 个对象的列表,我想将同一系列的对象分组到女儿列表中。同一族中的对象共享属性“File_identifier”。最后,我想通过作为子列表对象之一的属性的键来访问这些子列表。
SentinelReportModels 是父列表
HashMap<String, List<SentinelReportModel>> hashmap = new HashMap<String, List<SentinelReportModel>>();
for (int i = 0; i < sentinelReportModels.size(); i++) {
for (int k = 0; k < sentinelReportModels.size(); k++) {
if (sentinelReportModels.get(i).getIdentifiantfichier()
.equals(sentinelReportModels.get(k).getIdentifiantfichier()) ) {
ArrayList<SentinelReportModel> listeTemp = new ArrayList<>();
listeTemp.add(sentinelReportModels.get(i));
listeTemp.add(sentinelReportModels.get(k));
hashmap.put(sentinelReportModels.get(i).getTypeflux(),listeTemp);
}
}
}
但是它不起作用,我得到了 X 个包含重复项的列表。
最佳答案
我相信下面的代码应该可以解决问题。基本上,将所有具有相同 Flux 的 setinels 放在一个列表中。如果通量 ID 不同,则会将新列表添加到 map 中。
HashMap<String, List<SentinelReportModel>> hashmap = new HashMap<String, List<SentinelReportModel>>();
hashmap.put(,listeTemp);
for (int i = 0; i < sentinelReportModels.size(); i++) {
if (hashMap.get(sentinelReportModels.get(i).getTypeflux())==null) {
ArrayList<SentinelReportModel> list = new ArrayList<SentinelReportModel>();
list.add(sentinelReportModels.get(i));
hashMap.put(sentinelReportModels.get(i).getTypeflux(),list);
}else { hashMap.get(sentinelReportModels.get(i).getTypeflux()).add(sentinelReportModels.get(i));
}
}
关于java - 从母亲列表生成 child 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48113078/