相关疑难解决方法(0)

如何以一种好的方式在Java中的同一列表中查找对象对

在里面

我有一个ArrayList不同的对象.我试图在一个条件的基础上搜索相同的列表对象对.如果我找到了正确的对,我创建一个新对象并将其添加到新列表中.但是我想避免在objectA与objectB配对时创建一个对象对,而objectB与objectA配对.

直到现在我才找到一个好方法.

我试过的想法

2 for循环

for(Object objectA : objectList){
    for(Object objectB : objectList){
        if(condition){
            // create new object
            // add to list
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:我需要对已匹配的对进行标记,否则将导致我想避免的同一对的两个创建对象.它有效,但可能不是最好的解决方案?

迭代器

就像有两个forloops的版本一样,我使用了一个迭代器并从列表中删除了已匹配的对象对.工作,但似乎不好?

Java8 forEach&removeIf

objectList.stream().forEach(posA -> {
    objectList.removeIf(posB -> condition);
});
Run Code Online (Sandbox Code Playgroud)

问题:我什么时候创建对象对象...?

哪个是最好的主意 - 或者是否有更好的解决方案我没有得到?

java list arraylist java-8

2
推荐指数
1
解决办法
1673
查看次数

标签 统计

arraylist ×1

java ×1

java-8 ×1

list ×1