Menggunakan List, ArrayList dan generic di java

Daftar Materi Java SE

jabat erat, Assalamualaykum🙂

kali ini saya akan membahas sedikit tentang penggunaan List, tepatnya ArrayList. di Java, List adalah sebuah Interface yang memudahkan kita untuk membuat struktur data yang merepresentasikan sebuah lis. lebih mudahnya seperti wadah untuk menyimpan data yang berupa object yang data itu dapat bertambah kapasitasnya sesuai jumlah data.  ciri – ciri dari list adalah :

  • data – datanya tidak unik, object  yang sama diizinkan dalam satu wadah.
  • defaultnya tidak terurut, tapi bisa di urutkan sesuai keperluan
  • Teratur, memiliki nomer index berdasarkan urutan masuknya si object

nah ArrayList adalah sebuah kelas yang merupakan turunan dari interface List. sehingga memiliki ciri yang dimiliki oleh List namun lebih mudahnya dia seperti array yang ukurannya flexible sesuai jumlah data di dalamnya, nah sekarang kita coba buat dan mainkan kodenya.

1. Membuat ArrayList

untuk memudahkan, saya langsung saja membuat kelas test yang memiliki method main

public class ArrayListTest {
 public static void main(String[] args) {
 ArrayList kumpulanAngka = new ArrayList();
 }
}

2. Memasukkan data ke ArrayList

memasukkan datanya juga mudah, cukup gunakan method add(Object o).

public static void main(String[] args) {
        ArrayList kumpulanAngka = new ArrayList();

        kumpulanAngka.add(1);
        kumpulanAngka.add(2);
        kumpulanAngka.add("a");
        kumpulanAngka.add("b");

    }

atau jika menggunakan looping seperti ini

public static void main(String[] args) {
        ArrayList kumpulanAngka = new ArrayList();
        for(int i=1; i<11; i++){
          kumpulanAngka.add(i);
         }
}

dapat dilihat bahwa data yang dimasukkan bisa macam2 yang penting adalah Object, bagaimana jika kita ingin membatasi bahwa isinya hanya angka saja atau huruf saja atau Mahasiswa saja, nah nanti akan kita bahas di bagian list dengan generic
3. Mengambil data ke ArrayList
setelah kita tau bagaimana menginput data ke List, kita perlu tau juga cara mengambilnya, ada beberapa cara mengambilnya yaitu dengan menggunakan index, atau langsung menggunakan iterasi. sekarang kita coba untuk menggunakan index

 public static void main(String[] args) {
        ArrayList kumpulanAngka = new ArrayList();
        for(int i=1; i<11; i++){
         kumpulanAngka.add(i);
        }

        int angka = (int) kumpulanAngka.get(1);
        System.out.println("angka yang diambil : "+angka);

    }

mungkin ada yg bertanya kenapa kok harus ada kode casting / convert (int)?? itu karena semua yang dimasukkan ke dalam List akan dibaca sebagai Object umum jika tidak menggunakan generic. gak perlu bingung itu cuma mekanisme konvert saja ke tipe data yang diperlukan, karena saya butuh int maka harus di ubah jadi int tho!!!??🙂. nah sekarang kita ambil dengan looping

public static void main(String[] args) {
        ArrayList kumpulanAngka = new ArrayList();
        for(int i=1; i<11; i++){
         kumpulanAngka.add(i);
        }

        for(Object o : kumpulanAngka){
            Integer angka = (Integer)o;
            System.out.println(angka);
        }
    }

lopping for di atas adalah advanced for yang cara membacanya adalah, untuk setiap object o dalam kumpulan angka lakukanlah sesuatu, nah sesuatunya itu terserah kita kalau saya hanya mengambil kemudian mengkonvert lalu mencetak. gampang tho.??

4. Menggunakan Generic dalam List

misalnya saya ingin angka saja yang boleh masuk ke dalam kumpulanangka milik saya maka kita perlu menggunakan generic,

ArrayList<Integer> kumpulanAngka = new ArrayList();

kalau saya ingin String saja maka

ArrayList<String> kumpulanHuruf = new ArrayList();

kalau saya punya kelas Mahasiswa dan hanya object mahasiswa yang boleh masuk maka

ArrayList<Mahasiswa> kumpulanMahasiswa = new ArrayList();

5. Mengurutkan data di ArrayList

cara pertama adalah menggunakan jasa Collections.sort , kita akan mencoba mengurutkan menggunakan library yang sudah tersedia di Java. pertama kita urutkan dari kecil ke besar

public static void main(String[] args) {
        ArrayList<Integer> kumpulanAngka = new ArrayList();

        for(int i=1; i<10; i++){
         kumpulanAngka.add(i);
        }

        for(Object o : kumpulanAngka){
            System.out.println(o);
        }

        Collections.sort(kumpulanAngka);
        System.out.println("setelah di urutkan");
        for(Object o : kumpulanAngka){
            System.out.println(o);
        }
    }

lalu kita buat urutannya terbalik yaitu dari besar ke kecil

 public static void main(String[] args) {
        ArrayList<Integer> kumpulanAngka = new ArrayList();

        for(int i=1; i<10; i++){
         kumpulanAngka.add(i);
        }

        for(Object o : kumpulanAngka){
            System.out.println(o);
        }

        Collections.sort(kumpulanAngka,Collections.reverseOrder());
        System.out.println("setelah di urutkan");
        for(Object o : kumpulanAngka){
            System.out.println(o);
        }
    }

kira – kira seperti itulah contohnya, kita bisa membuat sendiri cara mengurutkan sesuai yang kita mau, misalnya kita mau mngurutkan manusia berdasarkan umurnya atau mahasiswa berdasarkan nilainya. silahkan pelajari materi Comparator, oke segitu dulu semoga ada manfaatnya, jika ada pertanyaan atau saran silahkan comment🙂


Warm Regards
Lahardi Alkawero
mari berbagi meskipun sedikit, kalo berguna alhamdulillah🙂


Daftar Materi Java SE

5 comments on “Menggunakan List, ArrayList dan generic di java

    • sebenernya beda konteks tapi aku coba jawab, 1. Arraylist menyimpan data – data dalam memory bukan dalam database, Arraylist seperti Array yang menyimpan data di memory bukan di database server. 2. baik arraylist ataupun struktur data lainnya dapat dimanfaatkan untuk menyimpan data ke dalam database dengan cara memindahkan apa yang ada di arraylist ke dalam database lewat koneksi ke database dan query yg sesuai. 3. tidak bisa langsung disimpan gitu aja, harus di ambil dulu isinya baru dipindah ke DB.

      gitu kira2 bos

  1. ka makasih tutorialny ka, aku mau nanya, aku msh ga paham yang tentang object 0 (yang advanced for ) , nanti outputnya apa ka ?
    sekalian yang generic dalam list, untuk type datany selalu di tulis dngan kurung tajam ( “”) ?? makasih ka sebelumnya, maaf merepotkan , saya benar2 masih pemula, dan semua tutor kk sangat membantu😀

    • outputnya adalah seperti ini

      1 2 3 4 5 6 7 8 9 10

      iya ditulis dengan diamond sebagai tanda bahwa isi dari List tersebut hanya boleh berupa object sejenis. misal maka LIst tersebut hanya boleh diisi oleh Object dari String. seperti itu kira2

  2. kak tolong infoo dongg kalau array list diimplementasikan get lokasi menggunakan ip address (geolocation) gimana ya kak?
    jadi array lit itu menyimpan lokasi dimana saya berdirii
    makasih yakk

silahkan ditanggapi :)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s