Null要素を許可しないJava Collection Frameworkからのクラスを探しています。
知ってる?
ほとんどの Queue
実装( LinkedList
の顕著な例外を除く)は、null
を受け入れません。
EnumSet
は、Set
値を許可しない特殊なnull
実装です。
Constraints
を使用:
import com.google.common.collect.Constraints;
...
Constraints.constrainedList(new ArrayList(), Constraints.notNull())
from Guava 最大限の柔軟性を実現します。
UPDATE:Guava Constraintsは Release 15 で非推奨になりました-明らかに置換なし。
UPDATE 2:現在(Guava 19.0-rc2) Constrains はまだ存在し、非推奨ではありません。ただし、 Javadoc にはありません。
MapConstraint
が リリース19 で廃止されたため、Javadocが正しいと思う
そのようなコレクションのまとめがあります here 。
Apache Commons Framework-CollectionUtils.addIgnoreNull
MyObjがnullでない場合、myListに追加します。
org.Apache.commons.collections.CollectionUtils.addIgnoreNull(myList, myObj)
Google Guava述語の使用(@Joachim Sauerからの回答は非推奨です)
//list is the variable where we want to remove null elements
List nullRemovedList=Lists.newArrayList(Iterables.filter(list, Predicates.notNull()));
//Or convert to Immutable list
List nullRemovedList2=ImmutableList.copyOf(Iterables.filter(list, Predicates.notNull()));
開始 ここでは、コレクションAPIページ 。 「関連項目」セクションをご覧ください。リンクをたどってください。許可または不許可の決定 ヌル 実装クラスによって作成されます。さまざまな「関連項目」セクションのリンクをたどって実装クラス(HashMapなど)にアクセスし、挿入メソッド(通常はadd、Push、またはputのバリエーション)を見て、その実装が許可するかどうかを確認します。 ヌル。
Hashtableは、nullキーまたは値を許可しません。