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
Petunjuk latihan
- Atur
numberOfContactsmenjadi1000. - Gunakan for-each loop untuk mengiterasi setiap
contactdalam daftarcontacts. - Kembalikan kontak saat metode
findContactmenemukannya. - Jalankan kode apa adanya (menggunakan tombol Jalankan Kode), lalu ubah
numberOfContactsmenjadi10000dan 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;
}
}