Interface Comparable<T>

API 1: compareTo(T o)

  • 负数,表示优先

// Some code
public class ClassName implements Comparable<ClassName> {
    @Override
    public int compareTo(ClassName, otherClassName) {
        return Integer.compare(this.filedName, otherClassName.fieldName);
    }
}

example

// Some code

class Node implements Comparable<Node> {
    int id;
    String name;
    char character;
    @Override
    public int compareTo(Node that) {
        return Integer.compare(this.scores, that.scores);
    }
}

class Node implements Comparable<Node> {
    @Override
    public int compareTo(Node other) {
        if (Integer.compare(this.id, other.id) < 0) {
            return -1;
        }
        else if (Integer.compare(this.id, other.id) > 0) {
            return 1;
        }
        else { // this.id == other.id
            if (this.character < other.character) {
                return -1;
            }
            else if (this.character > other.character) {
                return 1;
            }
            else {
                return 0;
            }
        }
    }
}

Last updated