1
私は、それぞれにIDを持つオブジェクトのリストを持っています。私はメディアIDのリストだけの2番目のリストを持っています。最初のリストから、2番目のリストに含まれるmediaIDと一致しないオブジェクトを削除します。これについての効率的な方法は何ですか?私が考えることができる唯一の方法は、forループを入れ子にすることでしたが、それは非効率的です。オブジェクトのIDがIDのリストにない場合、オブジェクトをリストから削除する最も良い方法は何ですか?
これは私の実装です。 「items」はMediaDetailsItemオブジェクトを含む最初のリストであり、これらの各オブジェクトには特定のmediaIdが含まれていることに注意してください。 2番目のリストはmediaIdsです。
List<MediaDetailsItem> shortenedList = new ArrayList<MediaDetailsItem>();
for(MediaDetailsItem item : items){
for(String id : mediaIds){
if(item.getMediaId().equals(id)){
shortenedList.add(item);
break;
}
}
}
items.clear();
items.addAll(shortenedList);
このコードが正常に動作している場合、この質問はスタックオーバーフローにオフトピックですが、私たちの姉妹サイト[コードレビュー](https://codereview.stackexchange.com/)には良いかもしれません。 –
@JoeC [OK]を、ありがとう、私はそこに移動します。 –