В настоящее время я пытаюсь объединить два списка, удаляя повторяющиеся значения внутри них. Однако при этом добавляется каждая станция и предполагается, что список mapValue не содержит ни одной из станций, даже если это явно (Im заканчивается большим количеством дубликатов). Что я делаю не так?Слияние двух списков без дубликатов
Map<String, List<Stations>> overview = new TreeMap<String, List<Stations>>();
for(Trains train: trainOverview){
List<Stations> mapValue = overview.get(train.getTrainNumber());
//Merge lists if the key already exists, and replace the old value with the merged list
if(overview.containsKey(train.getTrainNumber())){
for(Stations station: train.getStations()){
if(!mapValue.contains(station)) mapValue.add(station);
}
overview.put(train.getTrainNumber(), mapValue);
}
//If no key exists, create a new entry
else{
overview.put(train.getTrainNumber(), train.getStations());
}
}
Что такое "trainOverview"? Над картой вы можете перебирать с помощью Entry: http://stackoverflow.com/questions/46898/how-do-i-iterate-over-each-entry-in-a-map –
arjacsoh