1
我有一個對象的列表,每個對象都有一個ID。我有第二個列表,只是媒體ID列表。我想從第一個列表中刪除與第二個列表中包含的mediaID不匹配的對象。什麼是有效的方式去做這件事?我能想到的唯一方法是嵌套for循環,但效率不高。如果ID的ID不在ID列表中,從列表中刪除對象的最佳方法是什麼?
這是我的實現。請注意,「items」是第一個包含MediaDetailsItem對象的列表,每個對象都有一個特定的mediaId。第二個列表是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好的,謝謝,我會把它移到那裏。 –