Collections sınıfı
- Java kursu
- Orta seviye
- Ders 92/116
- 5 dk
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
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
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
Collections.____(nums);
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.