3

呼び出し元が から返された値を使用する可能性がある実際の例はありますCollection.remove()か?

メソッドがブール値を返すことには満足していますが、呼び出し元にとって結果が役立つケースを考えるのに苦労しています。

4

2 に答える 2

4

Javadocが言うように

指定された要素の1 つのインスタンスが存在する場合は、このコレクションから削除します(オプションの操作)。

コレクションは必ずしもセットではないため、コレクションにはすべて等しい複数のオブジェクトが含まれる場合があります。

そのため、remove 引数に等しいオブジェクトのすべてのインスタンスを削除することが 1 つの使用例になる場合があります。

while(col.remove(anObject));

javadoc にも次のように書かれていることに注意してください。

より正式には、 (o==null ? e==null : o.equals(e)) となる要素 e を削除します。

したがって、null 値を含む可能性のあるコレクションを取得し、「実際の」オブジェクトのみを処理したい場合は、このコードを簡単にすることができます

for(Object obj : col) {
    if(obj != null){
        doSomethingWithObject(obj);
    }
}

最初に値を削除することによりnull:

while(col.remove(null));

for(Object obj : col) {
    doSomethingWithObject(obj); 
}
于 2013-09-19T12:59:29.763 に答える