MulaiMulai sekarang secara gratis

Mengimplementasikan aplikasi manajemen kontak

Anda sedang mengembangkan aplikasi manajemen kontak yang menyimpan daftar kontak pengguna menggunakan ArrayList. Anda perlu mengimplementasikan lalu menganalisis kinerja fungsi pencarian Anda untuk menentukan apakah fungsinya akan tetap skalabel saat jumlah kontak bertambah.

Latihan ini adalah bagian dari kursus

Optimasi Kode di Java

Lihat Kursus

Petunjuk latihan

  • Atur numberOfContacts menjadi 1000.
  • Gunakan for-each loop untuk mengiterasi setiap contact dalam daftar contacts.
  • Kembalikan kontak saat metode findContact menemukannya.
  • Jalankan kode apa adanya (menggunakan tombol Jalankan Kode), lalu ubah numberOfContacts menjadi 10000 dan jalankan lagi, amati bagaimana waktu eksekusinya berubah. Setelah itu, kirim jawaban Anda.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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;
    }
}
Edit dan Jalankan Kode