0

次のような「有効な」フィルターを持つリストが必要です。

[
{
    "enabled": false,
    "value": {
        "number": 0
    }
},
{
    "enabled": true,
    "value": {
        "number": 1
    }
},
{
    "enabled": false,
    "value": {
        "number": 2
    }
},
{
    "enabled": true,
    "value": {
        "number": 3
    }
}
]

Iterable.iterator()または get(i)を使用した標準の for ループを使用して、各「番号」を出力するこのリストを反復処理すると、次のように出力されます。

1, 3

size() は 2 を返します。しかし、先に進んで最初の要素を有効にすると、代わりに次のように出力されます。

0, 1, 3

size() は 3 を返します。

このようなものの標準実装はありますか?

リストには、各要素を実際に切り替えることができるように、フィルター処理されていないバージョンで機能する操作が含まれます。

4

2 に答える 2

0

この結果を得るには、標準オブジェクトをオーバーライドする必要があると思います。

List オーバーライドの例: ArrayList add メソッドのオーバーライドに関する問題

于 2013-07-05T17:11:06.747 に答える