Comparable interface
và Comparator interface
trong Java là gì? Điểm khác nhau giữa chúng?
Comparable interface
và Comparator interface
trong Java là gì? Điểm khác nhau giữa chúng?
Trong Java, Comparable
và Comparator
là hai interface được sử dụng để sắp xếp các đối tượng của các lớp do người dùng định nghĩa. Mặc dù cả hai đều được sử dụng cho mục đích sắp xếp, chúng có một số điểm khác biệt quan trọng:
Comparable
được sử dụng để định nghĩa phương thức so sánh tự nhiên của đối tượng. Một lớp chỉ cần triển khai interface này nếu tất cả các đối tượng của nó đều có thể so sánh với nhau.compareTo(Object o)
.Comparable
, nó có nghĩa là "đối tượng này có thể so sánh với các đối tượng khác của cùng một lớp". Điều này thường được sử dụng để sắp xếp các đối tượng trong một danh sách sử dụng Collections.sort()
hoặc Arrays.sort()
mà không cần bất kỳ bộ so sánh bổ sung nào.public class Person implements Comparable<Person> {
private String name;
private int age;
// Constructor, getters và setters
@Override
public int compareTo(Person other) {
return this.age - other.age;
}
}
Comparator
được sử dụng khi bạn muốn sắp xếp các đối tượng theo một trật tự không tự nhiên hoặc sắp xếp các đối tượng của lớp mà bạn không k...middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào