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 merupakan bagian dari kursus
Optimasi Kode di Java
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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;
}
}