if(list.stream().anyMatch(x->"aaa".equals(x.getName())){
list.stream().filter(x->"aaa".equals(x.getName()) }
else{
}
1
casillasyi 2020 年 2 月 13 日
先 filter 再 anyMatch 不行吗,filter 不命中,后面的结果集是空
|
2
ipwx 2020 年 2 月 13 日
@casillasyi filter 了为啥还要 anyMatch ??
|
3
casillasyi 2020 年 2 月 13 日
@ipwx 好问题,filter 不是规约操作,需要一个结果集的判断或者收集
|
4
chendy 2020 年 2 月 13 日
不知道具体要做什么
感觉 filter + collect 然后判断结果是不是 empty,再做对应操作是不是更合适? |
5
ipwx 2020 年 2 月 13 日
@casillasyi 可是 O(2n) 浪费计算时间啊。。。
|
6
Mistwave 2020 年 2 月 13 日 via iPhone
没有
|
9
jimotudou 2020 年 2 月 13 日
或者不是 filter + findFirst 或者 findAny 就行嘛
|
10
casillasyi 2020 年 2 月 14 日
@ipwx 复杂度中没有 O(2n)的说法,O(2n)=O(n)
|
11
ipwx 2020 年 2 月 14 日
@casillasyi 不要本本主义嘛。我这也只是借用了 O 这个符号表达我的意思。
不同阶的算法比较,忽略常数即可。但是我们在说同阶的事情,当然带上常数比较可以得到更多信息。无论是 O(kn) vs O(n) 还是 O(n+k) vs O(n),都是计算量上有差别嘛。不然也不会存在“常数优化”的事情了。 |
12
casillasyi 2020 年 2 月 14 日
@ipwx 🤝
|