Bắt đầu ngayBắt đầu miễn phí

Xây dựng ứng dụng quản lý liên hệ

Bạn đang phát triển một ứng dụng quản lý liên hệ, duy trì danh sách liên hệ người dùng bằng ArrayList. Bạn cần hiện thực và phân tích hiệu năng của hàm tìm kiếm để xác định liệu nó có mở rộng tốt khi số lượng liên hệ tăng lên hay không.

Bài tập này là một phần của khóa học

Tối ưu hóa mã trong Java

Xem khóa học

Hướng dẫn bài tập

  • Đặt numberOfContacts thành 1000.
  • Dùng vòng lặp for-each để duyệt qua từng contact trong danh sách contacts.
  • Trả về liên hệ khi phương thức findContact tìm thấy.
  • Chạy mã như hiện tại (dùng nút Chạy mã), sau đó đổi numberOfContacts thành 10000 và chạy lại, quan sát sự thay đổi thời gian thực thi. Cuối cùng Gửi câu trả lời của bạn.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

public class Main {
    public static void main(String[] args) {
        ContactManager manager = new ContactManager();
        
        // Edit numberOfContacts to see how it affects execution time 
        int numberOfContacts = ____;
        for (int i = 0; i < numberOfContacts; i++) {
            manager.addContact(new Contact("Contact_" + i));
        }
        Contact result = manager.findContact("Contact_" + (numberOfContacts - 1));
        System.out.println("Found: " + result.getName());
    }
}

public class ContactManager {
    private ArrayList contacts;
    
    public ContactManager() {
        contacts = new ArrayList<>();
    }
    
    public void addContact(Contact contact) {
        contacts.add(contact);
    }
    
    public Contact findContact(String name) {
        // Complete loop to search through contacts
        for (Contact ____ : ____) {
            if (contact.getName().equals(name)) {
                // Return the match
                return ____;
            }
        }
        return null;
    }
}
Chỉnh sửa và Chạy Mã