Карта сортировки с использованием компаратора по значению картыJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Карта сортировки с использованием компаратора по значению карты

Сообщение Anonymous »

Я не уверен, видел ли я какой -либо ответ, который подходит для моей ситуации, несмотря на кучу ответов на ситуации, которые выглядят похожи. String. < /P>
< /li>
Также у меня есть компаратор (MyComparator), который реализует интерфейс компаратора для лиц.
Конструктор компаратора предполагает, что все сопоставимые объекты (люди) будут сохранены на карте < /code>. Следующий путь: < /p>
public int compare (Person personOne, Person personTwo) {
if (personsMap.get(personOne)>personsMap.get(personTwo)) {
return 1;
} else if (personsMap.get(personOne)
< /li>
< /ol>
Когда я запускаю что -то подобное: < /p>
public static void main (String[] args) {
Person p1 = new Person ("Willy");
Person p2 = new Person ("Billy");
Person p3 = new Person ("Dilly");

Map t = new HashMap();
t.put(p1,12);
t.put(p2,2);
t.put(p3,100);

List pl = new Arrays.asList(p1,p2,p3);
Collections.sort(pl, new MyComparator(t));
}
< /code>
Я получаю NPE в MyComparator в следующей строке: < /p>
if (personsMap.get(p1)>personsMap.get(p2))
< /code>
Пожалуйста, дайте мне подсказку, как это исправить.
заранее. < /p>

Подробнее здесь: https://stackoverflow.com/questions/374 ... -map-value
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»