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