ArrayList di Java: Pengantar untuk Pemula [2022]

Diterbitkan: 2022-11-22

Array adalah struktur data yang tersebar luas dan penting dalam setiap bahasa pemrograman dengan satu kelemahan – ukurannya tetap. Mari kita lihat bagaimana ArrayList di Java dapat membantu dalam hal ini.

Array dapat terdiri dari dua jenis: array statis atau array dinamis. Array tidak dapat ditingkatkan secara dinamis dalam bahasa pemrograman seperti Java. Sebaliknya, ukuran array dideklarasikan selama inisialisasi array. Namun, dalam banyak kasus, ini dapat menyebabkan banyak masalah. Untuk mengatasi masalah ini, ArrayLists digunakan di Java. Ukuran array meningkat secara otomatis ketika sebuah elemen didorong ke ArrayList.

Pada artikel ini, Anda akan belajar tentang ArrayLists di Java. Anda akan memahami perbedaan inti antara Array dan ArrayList dan juga mempelajari berbagai jenis ArrayList dan cara menggunakannya.

Array vs ArrayList

Perbedaan utama antara Array dan ArrayList adalah bahwa ukuran Array bersifat statis, tetapi ukuran ArrayList bisa bersifat dinamis. Karena Array sudah diperbaiki, waktu untuk beralih ke array membutuhkan waktu lebih sedikit daripada array dinamis.

Ada juga beberapa perbedaan lagi di antara mereka.

  • Array statis bisa tunggal atau multidimensi, tetapi ArrayList hanya bisa satu dimensi.
  • Array adalah struktur data primitif yang tersedia di Java. Tapi ArrayList adalah bagian dari Collection Framework API di Java. Itu dibangun di atas Array.
  • Anda dapat mendeklarasikan Array dengan tipe data primitif. Tipe data primitif tidak dapat digunakan dalam ArrayList. Jika Anda ingin menggunakan tipe data primitif, Anda harus menggunakan kelas pembungkus yang sesuai dari tipe data tersebut.

Jenis ArrayLists di Jawa

ArrayLists dapat berupa jenis apa pun. Tapi Anda harus meneruskan kelas pembungkus yang sesuai karena Anda tidak bisa meneruskan tipe data primitif dalam ArrayList.

Anda dapat menambahkan tipe data sederhana seperti tipe integer atau string dengan meneruskan kelas pembungkus seperti Integer atau String .

Anda juga dapat mengirimkan tipe kompleks seperti ArrayLists of ArrayLists, hashmaps, dll.

Mari kita lihat contoh penggunaan kelas khusus di dalam ArrayList.

 import java.util.ArrayList; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public void getUser() { System.out.println("Name: " + name + " Age: " + age); } } class Main { public static void main(String[] args) { ArrayList<User> users = new ArrayList<>(); users.add(new User("Subha", 25)); users.add(new User("Dan", 32)); users.forEach(user -> { user.getUser(); }); } } Output: Name: Subha Age: 25 Name: Dan Age: 32

Dalam contoh kode di atas, sebuah ArrayList bertipe User dibuat. Anda akan mempelajari lebih lanjut tentang metode yang digunakan dalam contoh di bawah ini.

Membuat ArrayList di Jawa

Anda telah memahami dasar-dasar ArrayList di Java. Sekarang mari kita lihat sintaks dari ArrayList, dan setelah itu, kita juga akan melihat bagaimana itu dapat digunakan dalam kode Java.

 ArrayList<Type> listName = new ArrayList<>();

Cuplikan di atas menunjukkan sintaks untuk mendefinisikan ArrayList. Type mendefinisikan tipe dari ArrayList. Misalnya, jika Anda ingin mendeklarasikan ArrayList dari tipe data integer, Anda dapat meneruskan <Integer> . Perhatikan bahwa Anda tidak dapat meneruskan int karena ini adalah tipe data primitif.

Anda juga perlu mengimpor java.util.ArrayList untuk menggunakan ArrayList dalam program Anda. Berikut adalah contoh dasar program yang mendeklarasikan ArrayList:

 import java.util.ArrayList; class Main { public static void main(String[] args) { // Declare An ArrayList ArrayList<String> rainbow = new ArrayList<>(); System.out.println(rainbow); } } Output: []

Dalam kode di atas, sebuah ArrayList bernama rainbow bertipe String dideklarasikan.

Untuk bekerja dengan ArrayList, ada beberapa metode yang tersedia. Mari kita lihat beberapa metode.

add Metode

Kelas ArrayList menyediakan berbagai metode untuk melakukan operasi seperti menambah atau menghapus elemen, mendapatkan nilai, menyetel nilai pada posisi tertentu, membersihkan ArrayList, dll.

Metode pertama yang akan kita lihat adalah metode add .

Metode add digunakan untuk menambahkan satu item ke ArrayList . Sintaks untuk add ditunjukkan di bawah ini.

 arrayList.add(int i, Element)

Mari kita pahami sintaksnya sekarang. Parameter pertama i adalah parameter opsional yang mewakili posisi indeks tempat item yang ingin Anda tambahkan. Element parameter kedua adalah elemen yang ingin Anda tambahkan. Mari kita lihat contohnya sekarang.

 rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet]

rainbow.add("Violet") menambahkan elemen ke akhir ArrayList. Dan rainbow.add(0, "Red") menambahkan elemen Red ke posisi indeks 0 dari ArrayList. Metode add() mengembalikan nilai true ketika sebuah item berhasil disisipkan.

Metode get

Metode get digunakan untuk mendapatkan nilai dari posisi tertentu dari ArrayList.

 arrayList.get(int i);

i yang ditunjukkan dalam sintaks di atas adalah posisi indeks. Misalnya, jika Anda ingin mendapatkan item dari posisi indeks 1 , tulis arrayList.get(1) .

 rainbow.add("Violet"); rainbow.add(0, "Red"); String color = rainbow.get(1); System.out.println(color); Output: Violet

Kode di atas akan mengembalikan Violet dari rainbow ArrayList .

Metode set

Metode set digunakan untuk mengganti nilai item. Misalnya, jika Anda ingin mengganti nilai item pada posisi indeks 0 , Anda menulis rainbow.set(0, "Purple") , dengan asumsi bahwa Anda memiliki ArrayList bernama rainbow .

Sintaks untuk metode set adalah sebagai berikut,

 arrayList.set(int i, Element);

Di mana i adalah posisi indeks, dan Element adalah nilai elemen baru.

 rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet] rainbow.set(1, "Purple"); System.out.println(rainbow); Output: [Red, Purple]

Dalam contoh di atas, kita menambahkan dua nilai ke ArrayList bernama rainbow . Pertama, elemen Violet ditambahkan, lalu pada posisi 0 dari ArrayList, kita tambahkan item Red . Pada titik ini, ArrayList lengkap terlihat seperti ini, [Red, Violet] .

Sekarang, elemen pada posisi indeks 1 diganti dengan nilai Purple menggunakan metode set . Setelah mengganti nilainya, ArrayList akan terlihat seperti ini, [Red, Purple] .

Metode remove

Metode remove ArrayList digunakan untuk menghapus nilai dari ArrayList. Anda bisa meneruskan nilai atau posisi indeks dari nilai yang ingin Anda hapus. Sintaks untuk metode remove ditunjukkan di bawah ini:

 arrayList.remove(Object value); // or arrayList.remove(int i);

Mari kita ambil contoh untuk pemahaman yang lebih baik tentang metode ini. Asumsikan bahwa Anda memiliki ArrayList yang disebut rainbow dengan nilai-nilai ini [Violet, Red, Green] . Sekarang, jika Anda ingin menghapus Red dari ArrayList, Anda dapat menulis rainbow.remove("Red"); . Memanggil metode ini pada rainbow ArrayList akan menghapus elemen Red darinya.

 // rainbow = [Violet, Red, Green] rainbow.remove("Red"); System.out.println(rainbow); Output: [Violet, Green]

Anda juga dapat melewati posisi indeks untuk menghapus item pada posisi indeks.

 //rainbow = [Red, Green] rainbow.remove(0); // Remove item at index position 0 System.out.println(rainbow); Output: [Green]

Metode yang clear

Seperti namanya, metode clear menghapus semua elemen dari ArrayList. Sintaksnya sangat mudah, dan tidak memerlukan parameter apa pun.

 arraylist.clear()

Mari kita lihat sebuah contoh,

 rainbow.clear(); System.out.println(rainbow); Output: []

Metode clear tidak mengembalikan nilai apapun. Sebagai gantinya, ini membersihkan nilai dari ArrayList yang diberikan.

Metode size

Metode size mengembalikan ukuran ArrayList yang diberikan. Metode ini juga tidak mengambil parameter apapun. Sintaksnya ditunjukkan di bawah ini.

 arrayList.size();

arrayList adalah nama ArrayList di sini. Mari kita pahami metode size dengan bantuan sebuah contoh.

 ArrayList<String> rainbow = new ArrayList<>(); rainbow.add("Violet"); rainbow.add("Red"); rainbow.add("Green"); System.out.println(rainbow.size()); Output: 3

Metode ini mengembalikan nilai ukuran ArrayList. Pada contoh di atas, rainbow ArrayList terdiri dari tiga nilai, sehingga metode size mengembalikan 3.

Kesimpulan

Artikel ini membahas apa itu ArrayList dan apa bedanya dengan Array. Kita juga melihat bagaimana ArrayList dapat dideklarasikan dan digunakan menggunakan berbagai metode yang tersedia untuk kelas ArrayList.

Jika Anda ingin mempelajari Java lebih dalam, lihat kursus Java online ini.