Stack'ten Deque ve ArrayDeque'a
Eski Stack sınıfı yerine ArrayDeque ile Deque interface'ini kullanın.
Kod Karşılaştırması
✕ Legacy Stack
Stack<String> stack = new Stack<>();
stack.push("task");
String next = stack.pop();
✓ Deque API
Deque<String> stack = new ArrayDeque<>();
stack.push("task");
String next = stack.pop();
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Daha iyi soyutlama
Deque hem yığın hem de kuyruk işlemlerini açıkça modeller.
Daha düşük ek yük
ArrayDeque, Vector'ün eski senkronizasyonundan kaçınır.
Daha esnek
Aynı interface, LIFO ve FIFO algoritmalarını destekler.
Eski Yaklaşım
Stack
Modern Yaklaşım
ArrayDeque ile Deque
JDK'dan itibaren
6
Zorluk
Başlangıç
JDK Desteği
Stack'ten Deque ve ArrayDeque'a
Mevcut
JDK 6'dan itibaren kullanılabilir (Aralık 2006)
Nasıl çalışır
Stack, eski ve senkronize Vector sınıfını genişletir. Deque, yığın işlemlerini doğrudan modeller; ArrayDeque ise bellek içi LIFO işlemleri için tercih edilen genel amaçlı implementasyondur.
İlgili Belgeler
Kanıt