2017-02-24 85 views
0

我知道謂詞是指定ArrayList的哪個對象必須被刪除。而不是刪除我想設置爲null這些對象。謂詞設置而不是刪除

喜歡

arrayList.setIf(比如說myPredicate,NULL); 而不是 arrayList.removeIf(myPredicate)

我準備了這麼多的謂詞,所以我不想浪費它。

+0

你必須自己編寫它。它不存在。 – Seelenvirtuose

+2

[如何在集合中有條件地替換值,例如replaceIf(謂詞)?](http://stackoverflow.com/questions/35807818/how-to-replace-a-value-conditionally-in -a信息收集等-AS-replaceifpredicat) – Calculator

回答

0

你必須寫你自己的邏輯,他們沒有這樣的功能來處理這樣的場景,但仍然可以做一些事情是這樣的:

yourList.stream().map(y -> { 
    if (y.Something().equals("something")) 
     return y; 
     else 
      return null; 
    }).collect(toList());