CodeBlanks Logo Icon CodeBlanks

Collections sınıfı

Collections.sort ve frequency yardımcılarını öğrenirsin.

Collections yardımcı sınıfı

Collections (çoğul) koleksiyonlar üzerinde statik yardımcı metotlar sunar. Listeyi sıralamak için Collections.sort(list), ters çevirmek için Collections.reverse(list), karıştırmak için Collections.shuffle(list) kullanılır.

Bu metotlar listeyi yerinde değiştirir; yeni liste döndürmezler. Collections.max(list) en büyük, Collections.min(list) en küçük elemanı döndürür. Collections.frequency(list, e) bir elemanın kaç kez geçtiğini sayar.

Sıralama ve arama

Bir liste sıralandıktan sonra Collections.binarySearch(list, key) ile hızlı arama yapılır. Binary search ancak sıralı listede doğru çalışır; sırasız listede sonucu tanımsızdır.

Bulunan elemanın indeksi döner; yoksa negatif bir sayı döner. Collections.emptyList() boş, değiştirilemez bir liste döndürür; bu, null yerine güvenli bir varsayılan değer olarak kullanışlıdır. Collections.unmodifiableList(list) var olan listeyi salt okunur hale getirir.

Uygulama Sayı listesini sırala ve bul

List<Integer> nums = new ArrayList<>(); tanımla. nums.add(30);, nums.add(10); ve nums.add(20); ile üç sayı ekle. Collections.sort(nums); ile sırala. System.out.println(nums.get(0)); ile ilk elemanı ve System.out.println(Collections.max(nums)); ile en büyük elemanı yazdır.

Başlangıç kodu

Main.java
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        // List<Integer> tanimla, uc sayi ekle, sort ile sirala, ilk ve max yazdir

    }
}

Örnek çözüm

Main.java
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        List<Integer> nums = new ArrayList<>();
        nums.add(30);
        nums.add(10);
        nums.add(20);
        Collections.sort(nums);
        System.out.println(nums.get(0));
        System.out.println(Collections.max(nums));
    }
}

Beklenen çıktı

10
30

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Collections metotlarını eşleştir

Kavram Anlamı
sort(list) Sıralar
reverse(list) Ters çevirir
max(list) En büyük eleman
frequency(list, e) Sayaç döndürür

2 Sıralama çağrısını tamamla

Soru
Collections.____(nums);
Cevap
Collections.sort(nums);

Açıklama: sort metodu listeyi küçükten büyüğe sıralar.

3 Collections.binarySearch ne zaman doğru çalışır?

  • Liste boşsa
  • Liste sıralıysa Doğru cevap
  • Liste bir Set ise
  • Liste ne olursa olsun

Açıklama: binarySearch ancak sıralı listede doğru sonuç verir.

Orta seviye bölümündeki tüm dersler