java - 从母亲列表生成 child 列表

标签 java algorithm sorting arraylist

我在输入中有一个包含 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/

相关文章:

java - Ldap:监听外部所做的更改

c++ - 如何确定输入文件中的一行是否是最后一行? C++

ios - 如何按 2 列/键对对象的 NSArray 进行排序

java - 字符串值时区排序

javascript - Lo-dash 根据字符串值对对象数组进行排序

java - Spring Boot 和 Proguard

java - IDN.toASCII 协议(protocol)必须先删除吗?

algorithm - 范围内所有元素的相等性

algorithm - 找到一个点,使得到一组点 P 中任意点的最大距离最小化

java - 如何在屏幕上获取输出对象?