Java, как отсортировать список узлов по полю объектов - PullRequest
0 голосов
/ 10 февраля 2020

Я создал класс с именем myLinkedList, который хранит узлы из класса с именем LinkNodes, который принимает объект с именем (String) в качестве поля. Я хочу отсортировать узлы в моем списке по алфавиту, из поля memberPlayer firstName

public class LinkNode {
    public memberPlayer player;
    public LinkNode next;

    public LinkNode() {
        this(null, null);
    }
    public LinkNode(memberPlayer player) {
        this(player,null);
    }
    public LinkNode(memberPlayer player, LinkNode next) {
        this.player = player;
        this.next = next;
    }
    public String toString() {
        String result = player + " ";
        if (next != null) {
            result += next.toString();
        }
        return result;
    }
}

Я пытался использовать метод collection.sort, но, без удачи, пытался использовать его на список, который я создал сам, но он работал нормально, когда я просто использовал объекты. Есть ли что-то особенное, что мне нужно сделать, если я хочу получить доступ к полю объекта внутри узла?

memberPlayer класс:

public class memberPlayer implements Comparable<memberPlayer>{
    private String firstName;
    private String lastName;
    private int age;
    private String team;
}

1 Ответ

0 голосов
/ 10 февраля 2020

Вы должны реализовать метод CompareTo в интерфейсе Comparable для использования указанного поля c.

 @Override 
 public int compareTo(Object o) {
   MemberPlayer player = (MemberPlayer)o;
   return this.firstName.compareTo(player.firstName);
 }

P: S Всегда используйте надлежащие соглашения при именовании классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...