Algoritma Java

Dalam tutorial ini, kita akan belajar tentang berbagai algoritma yang disediakan oleh framework kumpulan Java dengan bantuan contoh.

Kerangka koleksi Java menyediakan berbagai algoritme yang dapat digunakan untuk memanipulasi elemen yang disimpan dalam struktur data.

Algoritma di Java adalah metode statis yang dapat digunakan untuk melakukan berbagai operasi pada koleksi.

Karena algoritme dapat digunakan pada berbagai koleksi, ini juga dikenal sebagai algoritme generik .

Mari kita lihat penerapan metode berbeda yang tersedia dalam kerangka koleksi.

1. Menyortir Menggunakan sort ()

The sort()metode yang disediakan oleh kerangka koleksi digunakan untuk elemen semacam. Sebagai contoh,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(4); numbers.add(2); numbers.add(3); System.out.println("Unsorted ArrayList: " + numbers); // Using the sort() method Collections.sort(numbers); System.out.println("Sorted ArrayList: " + numbers); ) ) 

Keluaran

 Daftar Array yang Tidak Diurutkan: (4, 2, 3) Daftar Array yang Diurutkan: (2, 3, 4) 

Di sini pengurutan terjadi dalam urutan alami (urutan naik). Namun, kami dapat menyesuaikan urutan sort()metode menggunakan antarmuka Pembanding.

Untuk mempelajari lebih lanjut, kunjungi Penyortiran Java.

2. Mengacak Menggunakan acak ()

The shuffle()metode koleksi kerangka Java digunakan untuk menghancurkan segala jenis urutan hadir dalam struktur data. Itu hanya kebalikan dari penyortiran. Sebagai contoh,

 import java.util.ArrayList; import java.util.Collections; class Main ( public static void main(String() args) ( // Creating an array list ArrayList numbers = new ArrayList(); // Add elements numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Sorted ArrayList: " + numbers); // Using the shuffle() method Collections.shuffle(numbers); System.out.println("ArrayList using shuffle: " + numbers); ) ) 

Keluaran

 Sorted ArrayList: (1, 2, 3) ArrayList menggunakan shuffle: (2, 1, 3) 

Saat kita menjalankan program, shuffle()metode akan mengembalikan keluaran acak.

Algoritme pengacakan terutama digunakan dalam game di mana kami menginginkan keluaran acak.

3. Manipulasi Data Rutin

Di Java, framework koleksi menyediakan metode berbeda yang dapat digunakan untuk memanipulasi data.

  • reverse() - membalik urutan elemen
  • fill() - ganti setiap elemen dalam koleksi dengan nilai yang ditentukan
  • copy() - membuat salinan elemen dari sumber yang ditentukan ke tujuan
  • swap() - menukar posisi dua elemen dalam sebuah koleksi
  • addAll() - menambahkan semua elemen koleksi ke koleksi lain

Sebagai contoh,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); System.out.println("ArrayList1: " + numbers); // Using reverse() Collections.reverse(numbers); System.out.println("Reversed ArrayList1: " + numbers); // Using swap() Collections.swap(numbers, 0, 1); System.out.println("ArrayList1 using swap(): " + numbers); ArrayList newNumbers = new ArrayList(); // Using addAll newNumbers.addAll(numbers); System.out.println("ArrayList2 using addAll(): " + newNumbers); // Using fill() Collections.fill(numbers, 0); System.out.println("ArrayList1 using fill(): " + numbers); // Using copy() Collections.copy(newNumbers, numbers); System.out.println("ArrayList2 using copy(): " + newNumbers); ) ) 

Keluaran

 ArrayList1: (1, 2) Reversed ArrayList1: (2, 1) ArrayList1 Menggunakan swap (): (1, 2) ArrayList2 menggunakan addALl (): (1, 2) ArrayList1 menggunakan fill (): (0, 0) ArrayList2 menggunakan salin (): (0, 0) 

Catatan : Saat melakukan copy()metode, kedua daftar harus memiliki ukuran yang sama.

4. Mencari Menggunakan binarySearch ()

The binarySearch()metode Java pencarian koleksi kerangka kerja untuk elemen tertentu. Ini mengembalikan posisi elemen dalam koleksi yang ditentukan. Sebagai contoh,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using binarySearch() int pos = Collections.binarySearch(numbers, 3); System.out.println("The position of 3 is " + pos); ) ) 

Keluaran

 Posisi 3 adalah 2. 

Catatan : Koleksi harus disortir sebelum melakukan binarySearch()metode ini.

Untuk mengetahui lebih lanjut, kunjungi Pencarian Biner Java.

5. Komposisi

  • frequency() - mengembalikan hitungan berapa kali suatu elemen ada dalam koleksi
  • disjoint() - memeriksa apakah dua koleksi mengandung beberapa elemen umum

Sebagai contoh,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(2); System.out.println("ArrayList1: " + numbers); int count = Collections.frequency(numbers, 2); System.out.println("Count of 2: " + count); ArrayList newNumbers = new ArrayList(); newNumbers.add(5); newNumbers.add(6); System.out.println("ArrayList2: " + newNumbers); boolean value = Collections.disjoint(numbers, newNumbers); System.out.println("Two lists are disjoint: " + value); ) ) 

Keluaran

 ArrayList1: (1, 2, 3, 2) Hitungan 2: 2 ArrayList2: (5, 6) Dua daftar terputus-putus: benar 

6. Menemukan Nilai Ekstrim

Metode min()dan max()kerangka koleksi Java digunakan untuk menemukan elemen minimum dan maksimum. Sebagai contoh,

 import java.util.Collections; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // Using min() int min = Collections.min(numbers); System.out.println("Minimum Element: " + min); // Using max() int max = Collections.max(numbers); System.out.println("Maximum Element: " + max); ) ) 

Keluaran

 Elemen Minimum: 1 Elemen Maksimum: 3 

Artikel yang menarik...