ArrayListをフィルタリングし、見つかった要素を削除する必要があります。 Javaには比較的新しいので、これを達成するための最も効率的な方法(モバイルデバイス上で実行されるため問題)が何であるか疑問に思っています。現在、私はこれをしています:Java:効率的なArrayListフィルタリング?
// We display only top-level dealers (parentId=-10)
ArrayList<DealerProductCount> subDealers = new ArrayList<DealerProductCount>();
for (DealerProductCount dealer : wsResponse.Dealers) {
if (dealer.ParentId != -10) subDealers.add(dealer);
}
wsResponse.Dealers.removeAll(subDealers);
一時的なオブジェクトなしで行うことはできますか?おそらく、反復されるリストの要素を直接操作(削除)することによって?
他のデータ構造では、アイテムの削除が効率的です。 LinkedListからの削除はO(n)のパフォーマンスを持ちます。 HashMapからの削除は、一定の時間パフォーマンスを持ちます。 –