Set<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
...
以下操作的时间复杂度是多少? O(n) 还是 O(1)?
set.stream().filter(e -> e == 1).findFirst();
最佳答案
如果你从另一个角度看,你会更好地理解它,你的解决方案是这样的:
for(Integer i : set){
if(i == 1){
break;
}
}
所以它是O(n)
,因为它循环遍历所有集合,并逐一检查,如果条件正确则返回值,否则继续直到n
其他元素
关于java - 从HashSet得到的流过滤器的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45763104/