Java Algoritmaları

Bu eğitimde, örnekler yardımıyla Java koleksiyonları çerçevesi tarafından sağlanan farklı algoritmalar hakkında bilgi edineceğiz.

Java koleksiyon çerçevesi, veri yapılarında depolanan öğeleri işlemek için kullanılabilen çeşitli algoritmalar sağlar.

Java'daki algoritmalar, koleksiyonlar üzerinde çeşitli işlemleri gerçekleştirmek için kullanılabilen statik yöntemlerdir.

Algoritmalar çeşitli koleksiyonlarda kullanılabildiğinden, bunlar aynı zamanda genel algoritmalar olarak da bilinir .

Koleksiyonlar çerçevesinde bulunan farklı yöntemlerin uygulanmasını görelim.

1. Sıralama kullanarak Sıralama ()

sort()Koleksiyon çerçeve tarafından sağlanan usul sıralama elemanlarına kullanılır. Örneğin,

 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); ) ) 

Çıktı

 Sıralanmamış DiziListesi: (4, 2, 3) Sıralanmış DiziListesi: (2, 3, 4) 

Burada sıralama doğal sırayla (artan sıra) gerçekleşir. Ancak, sort()Comparator arayüzünü kullanarak yöntemin sıralama düzenini özelleştirebiliriz .

Daha fazla bilgi edinmek için Java Sıralama sayfasını ziyaret edin.

2. Shuffle () kullanarak karıştırma

shuffle()Java koleksiyonları çerçeve gibi bir yöntem veri yapısındaki sırası mevcut herhangi bir yok etmek için kullanılır. Sıralamanın tam tersini yapar. Örneğin,

 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); ) ) 

Çıktı

 Sıralanmış ArrayList: (1, 2, 3) ArrayList kullanarak shuffle: (2, 1, 3) 

Programı çalıştırdığımızda, shuffle()yöntem rastgele bir çıktı döndürecektir.

Karıştırma algoritması çoğunlukla rastgele çıktı istediğimiz oyunlarda kullanılır.

3. Rutin Veri İşleme

Java'da koleksiyon çerçevesi, verileri işlemek için kullanılabilecek farklı yöntemler sağlar.

  • reverse() - öğelerin sırasını tersine çevirir
  • fill() - bir koleksiyondaki her öğeyi belirtilen değerle değiştirin
  • copy() - belirtilen kaynaktan hedefe öğelerin bir kopyasını oluşturur
  • swap() - bir koleksiyondaki iki öğenin konumunu değiştirir
  • addAll() - bir koleksiyonun tüm öğelerini diğer koleksiyona ekler

Örneğin,

 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); ) ) 

Çıktı

 ArrayList1: (1, 2) Reversed ArrayList1: (2, 1) ArrayList1 swap kullanarak (): (1, 2) ArrayList2 addALl kullanarak (): (1, 2) ArrayList1 using (): (0, 0) ArrayList2 kopya (): (0, 0) 

Not : copy()Yöntemi uygularken her iki liste de aynı boyutta olmalıdır.

4. binarySearch () Kullanarak Arama

binarySearch()Belirtilen öğe için Java koleksiyonları çerçeve aramaların yöntemi. Belirtilen koleksiyonlardaki öğenin konumunu döndürür. Örneğin,

 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); ) ) 

Çıktı

 3'ün konumu 2'dir. 

Not : Yöntem uygulanmadan önce koleksiyon sıralanmalıdır binarySearch().

Daha fazlasını öğrenmek için Java Binary Search sayfasını ziyaret edin.

5. Bileşim

  • frequency() - koleksiyonda bir öğenin kaç kez bulunduğunu döndürür
  • disjoint() - iki koleksiyonun bazı ortak öğeler içerip içermediğini kontrol eder

Örneğin,

 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); ) ) 

Çıktı

 DiziListesi1: (1, 2, 3, 2) 2: 2 Sayısı DiziListesi2: (5, 6) İki liste ayrık: doğru 

6. Uç Değerleri Bulmak

min()Ve max()Java koleksiyonları çerçeve yöntemleri sırasıyla minimum ve maksimum unsurları bulmak için kullanılır. Örneğin,

 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); ) ) 

Çıktı

 Minimum Eleman: 1 Maksimum Eleman: 3 

Ilginç makaleler...