Извините за титул, я не смог найти лучшего, и я знаю, что это звучит запутанно. Вопрос состоит в следующем:Как сравнить карту со списком
У меня есть HashMap с этим выглядит следующим образом:
Map<String, ClassA> myMap;
Кроме того, у меня есть список, который выглядит следующим образом:
List<ClassB> myList;
ClassB выглядит следующим образом:
public class ClassB{
//many things
private String someString;
//getter
//setter
}
}
SomeString является ключом st кольцо myMap
Я хочу удалить из карты, все объекты, которые я не могу найти в списке myList
с наименьшим числом итераций, поскольку эта очистка будет происходить один раз каждые несколько секунд, все время жизни.
Любой алгоритм? Образец или даже пример?
Спасибо
Привет, я благодарю вас за помощь, это звучит хорошо, за исключением того факта, что мне нужно использовать меньше памяти и меньше процессорного времени. На самом деле я сделал, чтобы перебирать список и делать изменения на карте, не копируя их на другую карту. Я ищу здесь, чтобы улучшить код –
@MarwanJaber, вы должны проверить оба варианта и избежать каких-либо «оптимизаций», если это необходимо.Имейте в виду, что, «копируя» карту, вы на самом деле копируете только указатели на объекты и * не * сами объекты, поэтому, если у вас нет * лота * объектов, такая «оптимизация» не нужна! – alfasin
@MarwanJaber. Трудно (иногда, невозможно) иметь оба: использовать меньше памяти и использовать меньше процессора. Вам нужно выбрать один. –