Я думаю, что, возможно, я нашел ошибку на Java.Java TreeMap Duplicate Keys
У меня есть TreeMap, в котором я использую пользовательский компаратор. Однако, кажется, когда я кладу (ключ, значение) на уже существующий ключ, он не переопределяет ключ, создавая дубликаты ключей. Я думаю, что я проверил это, потому что я попробовал:
System.out.println(testMap.firstKey().equals(testMap.lastKey()));
И это печатает правду. Кто-нибудь знает, почему это происходит?
Это код компаратора:
private class TestComp implements Comparator<String> {
@Override
public int compare(String s1, String s2){
if (s1.equals(s2)) {
return 0;
}
int temp = otherMap.get(s1).compareTo(otherMap.get(s2));
if (temp > 0) {
return 1;
}
return -1;
}
Сколько записей у вас есть в 'TreeMap'? Если это только один, первый и последний должны быть одинаковыми ^^ – Alexander
Пожалуйста, покажите свой полный код. Из этой строки нельзя оценить, что вы делаете. –
Вы уверены, что ваш компаратор является транзитивным и последовательным? – amit