通常のJavaコレクションでは、入力がPredicate
である要素を削除することができます。 persons.removeIf(person -> person.isMale());
リストのremoveIfを実行するか、Eclipseコレクションのプリミティブを設定しますか?
eclipseコレクションでは、使用されているコレクションがIterable<T>
の場合に限りこれが可能です。
PrimitiveIterable
を拡張するプリミティブコレクションの場合、同じ方法を提供する方法はないようです。サポートされていませんか?そうでない場合、なぜですか?
編集: 私は、rejectのように、新しいセットを作成せずにその場でアイテムを削除するメソッドを探しています。
Java 8までは、「removeIf」が追加されませんでした... –
*「サポートされていませんか?」* **ドキュメントを読む**。あなたが['MutableIntCollection.reject(IntPredicate predicate)'](http://www.eclipse.org/collections/javadoc/9.0.0/org/eclipse/collections/api/collection/primitive/MutableIntCollection)を探しているようです.html#reject-org.eclipse.collections.api.block.predicate.primitive.IntPredicate-)、またはそのいずれかのいとこです。 http://idownvotedbecau.se/noresearch/ – Andreas
私はドキュメントを見ました。おそらく私の質問は十分にはっきりしていなかった、私は場所に要素を削除するものが欲しい。 '' 'reject'''は、一致しなかった要素を持つ新しいセットを返します。 –