Câu hỏi phỏng vấn Java
Câu hỏi

Comparable interfaceComparator interface trong Java là gì? Điểm khác nhau giữa chúng?

Câu trả lời

Trong Java, ComparableComparator 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 Interface:

  • Mục đích: 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.
  • Phương thức: Interface này chứa một phương thức duy nhất là compareTo(Object o).
  • Sử dụng: Khi một lớp triển khai 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.
  • Ví dụ:
    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 Interface:

  • Mục đích: 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

middle

Gợi ý câu hỏi phỏng vấn

senior

Sự khác biệt giữa HashMapHashtable trong Java là gì?

senior

Design pattern nào Java sử dụng cho tất cả các Swing components?

middle

Giải thích các trạng thái của thread ở một high-level?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào