Contoh Penggunaan Generic ArrayList dalam Bahasa Java

Penggunaan ArrayList dari Java Collections [Bahasa Java]

Soal:

Untuk dokumentasi Java Collection Framework, silakan cek di: https://docs.oracle.com/javase/tutorial/collections/.

Untuk kelas generic ArrayList, lihat:

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

Dengan memanfaatkan kelas generic ArrayList dari Java Collections Framework buatlah program sebagai berikut:

– Menerima masukan sebuah pilihan (integer): 1 untuk membuat ArrayList dengan type elemen Integer, 2 untuk membuat ArrayList dengan type elemen Character, dan 3 untuk ArrayList dengan type elemen String. Masukan pilihan dianggap benar (tidak perlu diperiksa).

– Selanjutnya, menerima masukan sebuah integer N >= 0 dan menerima masukan sejumlah N elemen bertype tergantung pilihan. Setiap elemen baru ditambahkan di akhir ArrayList.

– Jika N = 0, tuliskan pesan “Array kosong”.

– Jika N > 0:

o Print seluruh elemen ArrayList dari elemen paling belakang ke elemen terdepan.

o Sort ArrayList secara terurut menaik dan tuliskan hasilnya ke layar. Gunakan fungsi Sort yang merupakan salah satu algoritma generik pada Collections. Untuk mencetak isi ArrayList hasil sort, gunakan System.out.println.

Dipersilakan membuat method generic untuk mengelola beberapa hal.

Contoh input/output:

Input Output Keterangan Input
1

10

5

3

4

2

6

5

-1

9

10

11

[11, 10, 9, -1, 5, 6, 2, 4, 3, 5]

[-1, 2, 3, 4, 5, 5, 6, 9, 10, 11]

Pilihan = 1 (type elemen Integer)

N = 10

Isi ArrayList = {5, 3, 4, 2, 6, 5, -1, 9, 10}

Setelah di-sort = {-1, 2, 3, 4, 5, 5, 6, 9, 10, 11}

2

5

B

A

C

d

a

[a, d, C, A, B]

[A, B, C, a, d]

Pilihan = 2 (type elemen Character)

N = 5

Isi ArrayList = {‘B’, ‘A’, ‘C’, ‘d’, ‘a’}

Setelah di-sort = {‘A’, ‘B’, ‘C’, ‘a’, ‘d’}

3

4

saya

suka

sama

situ

[situ, sama, suka, saya]

[sama, saya, situ, suka]

Pilihan = 3 (type elemen String)

N = 4

Isi ArrayList = {“saya”, “suka”, “sama”, “situ”}

Setelah di-sort = {“sama”, “saya”, “situ”, “suka”}

1

0

Array kosong Pilihan = 1 (type elemen Integer)

N = 0

Array kosong

Source code:


import java.util.*;
public class Prak_ArrayList {

    /**
     * @param Daftar
     * @param args the command line arguments
     */
    
    public static void Print(List l){
        int i, N;
        
        N = l.size();
        
        System.out.print("[" + l.get(0));
            for (i=1; i<N; i++){
                    System.out.print(", " + l.get(i) );
            }
            
            System.out.print("]");
            System.out.println();
    }
    
    public static void Print2(List l){
        int i, N;
        
        N = l.size();
        
        System.out.print("[" + l.get(N-1));
            for (i=N-2; i>=0; i--){
                    System.out.print(", " + l.get(i) );
            }
            
            System.out.print("]");
            System.out.println();
    }
    
    public static void main(String[] args) {
        // TODO code application logic here
        ArrayList l = null;
        Scanner s = new Scanner(System.in);
        int pil = s.nextInt();
        int N = s.nextInt();
        int i;
        
        if (N > 0){
            if (pil == 1){
            l = new ArrayList<Integer>();
            
            for (i=0; i<N; i++){
                l.add(s.nextInt());
            }
           
            }  else if (pil == 2){
                l = new ArrayList<Character>();
                
                for (i=0; i<N; i++){
                l.add(s.next().charAt(0));
                }
              
            } else if (pil == 3) {
                l = new ArrayList<String>();
                
                for (i=0; i<N; i++){
                    l.add(s.next());
                }
             
            }
            
            Print2(l);
            Collections.sort(l);
            Print(l);
        } else if (N == 0) {
            System.out.println("Array kosong");
        }
        
    }
    
}

Advertisements

Leave a Reply

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