Guava の Iterables フィルターを使用するのが大好きです。しかし、1 つの一般的なコード スニペットは次のようになります。
List foo = Lists.newArrayList(Iterables.filter(someCollection, somePredicate));
if (foo.isEmpty) {
// do empty
} else {
int count = foo.size(); // do non-empty
}
「foo」リストを実際に作成する必要がないため、これは無駄です。必要なのは、それが空かどうかを知り、要素の数を取得することだけです。
次のベスト プラクティスを知りたい: 1)リストをメモリに構築する時間を無駄にせず
にテストするにはどうすればよいか
2) すべてのエントリを反復せずにサイズを取得する方法はありますか?
3) #2 に対する非反復的な解決策がない場合は、単純に反復して count++ を実行する方がよいでしょうか? isEmpty()