我想知道如果我可以在这种情况下多线程我的双循环。 在第二个循环中,我发送一个布尔值为true,如果某些条件完成并且我 在第一个循环中使用此布尔值的结果。在这种情况下多线程是否会破坏结果?如果没有,它会增加计算事件的速度吗?Multhreading Java double for循环与布尔内
这里是我的代码:
ArrayList<Appartement> sorted = new ArrayList<>();
boolean ispresent = false;
for (Appartement p1: res2) {
ispresent = false;
for (Appartement p2: res2) {
if (p1.equals(p2))
continue;
if (!p1.ContainNull() && !p2.ContainNull()){
if (p1.getRoomCount().equals(p2.getRoomCount()) && p1.getPrice().equals(p2.getPrice()) && p1.getSurface().equals(p2.getSurface())
&& p1.getZipCode().equals(p2.getZipCode()) && p1.getNewBuild().equals(p2.getNewBuild())
&& p1.getPropertyType().equals(p2.getPropertyType()) && p1.getFurnished().equals(p2.getFurnished())
&& p1.getMarketingType().equals(p2.getMarketingType())) {
ispresent = true;
break;
}
}
}
if (!ispresent)
sorted.add(p1);
}
我将在这里得到一些帮助。
你为什么不试试看? –
它看起来像你只想建立一个列表与所有独特的项目没有重复。实际上,你可以使用HashSet以O(n)的复杂度单次传递,所以你当然不需要多线程。 – BladeCoder
我解析一个json文件,当我尝试使用HashSet时,它将所有我的公寓与重复在那里,所以我试过这种方式。我班的公寓有几个字符串值和int。 –