30 top java collections interview questions with answers
Bu Eğitim, En Sık Sorulan Java Koleksiyonları Görüşme Sorularının bir listesini ve sizin için Cevaplar ve Örnekler içerir. :
Java'nın temel API'si Java Collections Framework'tür. Bu programlama dilinin temel kavramını destekler. Bir Java geliştiricisi olmak istiyorsanız, bu temel kavramları iyi bilmelisiniz.
Java koleksiyonlarının alanı oldukça geniştir ve bir röportajda birçok soru sorulabilir. Burada, röportajınızda sorulabilecek pek çok alakalı sorunun bir listesini topladık.
=> Java Eğitim Öğreticilerinin A-Z'sini Burada Görmek İçin Burayı Kontrol Edin
Ne öğreneceksin:
Java Koleksiyonları Mülakat Soruları
S # 1) Java Collections Framework'ü açıklayın.
Cevap: Java Collections Framework, bir grup nesnenin yönetilmesine ve depolanmasına yardımcı olan bir mimaridir. Bununla birlikte, geliştiriciler önceden paketlenmiş veri yapılarına erişebilir ve verileri algoritmaların kullanımıyla değiştirebilir.
Java koleksiyonu, arama, silme, ekleme, sıralama, vb. Gibi işlemleri destekleyen arayüz ve sınıfları içerir. Arayüz ve sınıfların yanı sıra, Java Koleksiyonları, manipülasyonlara yardımcı olan algoritmalar da içerir.
S # 2) Java Koleksiyonlarının faydaları nelerdir?
Cevap:
Java Koleksiyonlarının faydaları şunlardır:
- Koleksiyon sınıflarımızı uygulamak yerine, çekirdek koleksiyon sınıflarını kullanır, böylece geliştirme için gereken çabayı azaltır.
- İyi test edilmiş koleksiyon çerçevesi sınıflarını kullanır. Bu nedenle kod kalitesi artırılmıştır.
- Kod bakımındaki çabayı azaltır.
- Java Collection Framework birlikte çalışabilir ve yeniden kullanılabilir.
S # 3) Java'daki Koleksiyonların Hiyerarşisi hakkında ne biliyorsunuz?
Cevap:

(resim kaynak )
S # 4) Bize Java Koleksiyonunun temel arayüzlerinden bahsedin.
Cevap:
Aşağıda, Java Collection Framework'ün temel arayüzleri listelenmiştir.
Toplamak: Koleksiyon hiyerarşisinin temelidir ve öğelerini temsil eder. Ancak Java, doğrudan Koleksiyon uygulaması sağlamaz. Ayrıca, Java koleksiyonlarının çoğu bu arayüzden gelir.
Ayarlamak: Matematiksel kümenin soyutlamasını modellerken yinelenen öğeleri tutamaz. Adından da anlaşılacağı gibi setleri temsil eder, Örneğin, bir deste kart.
Liste: Yinelenen öğeleri tutabilir ve sıralı bir koleksiyondur. İçindeki herhangi bir öğeye erişmek için dizinini kullanabilirsiniz. Liste, dinamik uzunlukta bir düzenleme, bir dizi gibidir.
Bunlar Java Koleksiyonunun birkaç arabirimidir. Bununla birlikte, aşağıda gösterildiği gibi birkaç arayüz daha vardır.
- Kuyruk
- Sıradan çıkarmak
- Yineleyici
- Tekrarlanabilir
- SortedSet
- ListIterator.
S # 5) Serileştirilebilir ve Klonlanabilir Arayüzler Koleksiyon tarafından neden genişletilmiyor? Arayüz?
Cevap: Koleksiyon Arayüzünün görevi, eleman adı verilen bir nesne grubunu belirlemektir. Koleksiyonların uygulanması, öğelerin nasıl korunacağına karar verir. Örneğin, Liste uygulamaları yinelenen öğelere izin verir, ancak Set uygulamaları vermez.
Birçok uygulamanın genel klonlama için bir yöntemi vardır. Ancak Koleksiyon soyut olduğundan ve önemli olan uygulamanın tüm Koleksiyon uygulamalarına dahil edilmesi pratik değildir.
Hem serileştirmenin hem de klonlamanın anlamı ve sonuçları, önemli uygulamalarla çalışırken mantıklıdır. Bu nedenle, seri hale getirilip getirilemeyeceğine veya klonlanıp klonlanmayacağına ve nasıl yapılacağına karar vermek gerçek uygulamaya bağlıdır.
Daha fazla bilgi edinin = >> Java'da Marker Arayüzü: Serileştirilebilir ve Klonlanabilir
Bu nedenle, her uygulamada serileştirme ve klonlamayı teşvik etmek çok esnek değildir ve kısıtlayıcıdır.
S # 6) Java Collection Framework'te Iterator'dan ne anlıyorsunuz?
Cevap: Basit dizilerde, her öğeye erişmek için döngüler kullanabiliriz. Bir koleksiyondaki öğelere erişmek için benzer bir yaklaşım gerektiğinde, yineleyiciler kullanırız. Yineleyici, Koleksiyon nesnelerinin öğelerine erişmek için kullanılan bir yapıdır.
Java'da Yineleyiciler, Collection Framework'ün 'Yineleyici' arayüzünü uygulayan nesnelerdir. Bu arayüz, java.util paketinin bir parçasıdır.
Yineleyicilerin bazı özellikleri şunlardır:
- Yineleyiciler, Koleksiyon nesnelerinde gezinmek için kullanılır.
- Yineleyiciler, tüm koleksiyonlar için aynı Yineleyiciyi kullanabildiğimiz için 'Evrensel Java İmleci' olarak bilinir.
- Yineleyiciler, koleksiyonları dolaşmanın yanı sıra 'Oku' ve 'Kaldır' işlemleri sağlar.
- Evrensel oldukları ve tüm koleksiyonlarla çalıştıkları için yineleyicilerin uygulanması daha kolaydır.
Java Koleksiyonu Sorularını Listeleme
S # 7) Liste Arayüzünün kullanımlarından haberdar mısınız?

(resim kaynak )
Cevap: Liste Arayüzünün amacı, ekleme sırasını korumaktır. Aynı zamanda yinelenen değerlerin depolanmasına da izin verir.
İçerdiği çeşitli yöntemler ile indeksine bağlı olarak elemanların sorunsuz bir şekilde işlenmesine yardımcı olur. ArrayList, Vector, Stack ve LinkedList, List Interface'i uygulayan çeşitli sınıflardır.
S # 8) Java'daki ArrayList hakkında ne anlıyorsunuz?
Cevap: Liste Arayüzünün gerçeklemesi ArrayList'tir. Listeden dinamik olarak eleman ekler veya çıkarır ve ayrıca konumsal erişim ile birlikte elemanların eklenmesini sağlar. ArrayList, yinelenen değerlere izin verir ve öğelerin sayısı başlangıç boyutunu aşarsa boyutu dinamik olarak artabilir.
S # 9) Bir dizgi dizisini ArrayList'e nasıl dönüştürebilirsiniz?
Cevap: Bu, bir görüşmecinin Collection utility.classes’ı kavrayışınızı kontrol etmenizi istediği başlangıç düzeyinde bir programlama sorusudur. Koleksiyon ve Diziler, görüşmecilerin genellikle ilgilendiği Koleksiyon Çerçevesinin iki yardımcı sınıfıdır.
Koleksiyonlar, koleksiyon türlerinde belirli görevleri gerçekleştirmek için belirli statik işlevler sunar. Dizi, dizi türlerinde gerçekleştirdiği yardımcı işlevlere sahipken.
//String array String() num_words = {'one', 'two', 'three', 'four', 'five'}; //Use java.util.Arrays class to convert to list List wordList = Arrays.asList(num_words); String tipinden ayrı olarak, ArrayList'e dönüştürmek için diğer tip Array'leri de kullanabileceğinizi unutmayın.
Örneğin,
//Integer array Integer() numArray = {10,20,30,40}; //Convert to list using Arrays class asList method List num_List = Arrays.asList(numArray); S # 10) Diziyi ArrayList'e ve ArrayList'i Array'e dönüştürün.
Cevap: ArrayList'i Array'e dönüştürmek için toArray () yöntemi kullanılır. List_object.toArray (yeni Dize (List_object.size ()))
Array'i ArrayList-'e dönüştürmek için asList () yöntemi kullanılırken Arrays.asList (öğe). AsList (), List nesnelerinin parametreler olduğu statik bir yöntemdir.
S # 11) LinkedList nedir ve Java'da kaç türü desteklenir?

(resim kaynak )
Cevap: LinkedList, her bağlantının sonraki bağlantıya bağlı olduğu bir dizi bağlantı içeren bir veri yapısıdır.
Java'da öğeleri depolamak için iki tür LinkedList kullanılır:
- Singly LinkedList: Burada, her bir düğüm, bir referans veya bir sonraki düğüme işaretçi ile birlikte düğümün verilerini depolar.
- Çift Bağlantılı Liste: Çift BağlantılıList, ikili referanslar, bir sonraki düğüm için bir referans ve bir önceki düğüm için bir başka referans ile birlikte gelir.
S # 12) BlockingQueue'dan ne anlıyorsunuz?
Cevap: Basit bir kuyrukta, kuyruk her dolduğunda, daha fazla öğe ekleyemeyeceğimizi biliyoruz. Bu durumda kuyruk, kuyruğun dolu olduğunu ve çıktığını bildiren bir mesaj sağlar. Benzer bir durum, kuyruk boş olduğunda ve kuyrukta kaldırılacak bir öğe olmadığında meydana gelir.
Ekleme / çıkarma işlemi yapılamadığında çıkmak yerine, öğeyi ekleyene veya kaldırana kadar beklemeye ne dersiniz?
Bu, adı verilen bir kuyruk varyasyonu ile yanıtlanır. 'Engelleme sırası' . Bloklama kuyruğunda, kuyruk tam kuyruğu kuyruğa almaya veya boş bir kuyruğu çıkarmaya çalıştığında kuyruğa alma ve kuyruğundan çıkarma işlemleri sırasında bloke etme etkinleştirilir.
Engelleme aşağıdaki şekilde gösterilmiştir.
BlockingQueue

Bu nedenle, kuyruğa alma işlemi sırasında, engelleme kuyruğu, bir öğenin başarılı bir şekilde yerleştirilebilmesi için bir alan kullanılabilir olana kadar bekleyecektir. Benzer şekilde, kuyruktan çıkarma işleminde engelleme kuyruğu, işlem için bir öğe uygun olana kadar bekleyecektir.
en iyi bilgisayar temizleme yazılımı nedir
Engelleme kuyruğu, 'java.util.concurrent' paketine ait 'BlockingQueue' arayüzünü uygular. BlockingQueue arayüzünün boş değere izin vermediğini unutmamalıyız. Null ile karşılaşırsa, NullPointerException oluşturur.
S # 13) Java'da Öncelik Kuyruğu nedir?
Cevap: Java'daki bir öncelik kuyruğu, yığın veya kuyruk veri yapılarına benzer. Java'da soyut bir veri türüdür ve java.util paketinde PriorityQueue sınıfı olarak uygulanır. Öncelik kuyruğunun, Öncelik kuyruğundaki her öğenin bir önceliğe sahip olduğu özel bir özelliği vardır.
Öncelik kuyruğunda, daha yüksek önceliğe sahip bir öğe, daha düşük önceliğe sahip öğeden önceki sunucudur.
Öncelik kuyruğundaki tüm öğeler, doğal sıralamaya göre sıralanır. Öncelikli kuyruk nesnesi oluştururken bir karşılaştırıcı sağlayarak öğeleri özel sıraya göre de sıralayabiliriz.
Arayüz Görüşme Soruları Ayarlama
S # 14) Set Interface'in kullanımı nedir? Bize bunu uygulayan sınıflardan bahsedin Arayüz.
Cevap: Set Interface, matematiksel seti şekillendirmek için set teorisinde kullanılır. Liste arayüzüne benzer ve yine de ondan biraz farklıdır. Set Interface, sıralı bir koleksiyon değildir, bu nedenle öğeleri kaldırırken veya eklerken korunan bir sıralama yoktur.
Temelde, yinelenen öğeleri desteklemez, bu nedenle Set Interface'deki her öğe benzersizdir.
Ayrıca farklı uygulamalar olsa bile Set örneklerinin anlamlı karşılaştırmalarına izin verir. Ayrıca, equals ve hashCode işlemlerinin eylemleri hakkında daha önemli bir sözleşme yapar. İki örnek aynı öğelere sahipse, eşittir.
Tüm bu nedenlerden dolayı Set Interface, List gibi eleman indeksine dayalı işlemlere sahip değildir. Yalnızca Koleksiyon Arayüzünden miras alınan yöntemleri kullanır. TreeSet, EnumSet, LinkedHashSet ve HashSet Set Interface'i uygular.
S # 15) HashSet ve TreeSet'e boş bir eleman eklemek istiyorum. Yapabilirmiyim?
Cevap: Öğe depolaması için NavigableMap kullandığından TreeSet'e herhangi bir boş öğe ekleyemezsiniz. Ancak HashSet'e yalnızca bir tane ekleyebilirsiniz. SortedMap boş anahtarlara izin vermez ve NavigableMap onun alt kümesidir.
Bu nedenle, TreeSet'e boş bir öğe ekleyemezsiniz, bunu her yapmaya çalıştığınızda NullPointerException ile gelir.
S # 16) LinkedHashSet hakkında ne biliyorsunuz?

Cevap: LinkedHashSet, HashSet'in alt sınıfıdır ve Set Arayüzünü zorlar. HashSet'in sıralı bir formu olarak, içerdiği tüm öğeler boyunca çift bağlantılı bir Listeyi yönetir. Ekleme sırasını korur ve tıpkı ana sınıfı gibi, yalnızca benzersiz öğeler taşır.
S # 17) HashSet'in öğeleri saklama şekli hakkında konuşun.
Cevap: HashMap, anahtar / değer çiftlerini depolar, ancak anahtarlar benzersiz olmalıdır. Haritanın bu özelliği, HashSet tarafından her öğenin benzersiz olduğundan emin olmak için kullanılır.
HashSet'teki Harita bildirimi aşağıda gösterildiği gibi görünür:
private transient HashMapmap; //This is added as value for each key private static final Object PRESENT = new Object(); HashSet'te depolanan öğeler, Harita'da bir anahtar olarak depolanır ve nesne bir değer olarak sunulur.
S # 18) EmptySet () yöntemini açıklayın.
Cevap: Emptyset () yöntemi, boş öğeleri kaldırır ve boş değiştirilemez kümeyi döndürür. Bu değişmez küme serileştirilebilir. Emptyset () yönteminin yöntem bildirimi: public static final Set emptySet ().
Harita Arayüzü Görüşme Soruları
S # 19) Bize Harita Arayüzünden bahsedin.

Cevap: Harita Arayüzü, daha hızlı aramalar için tasarlanmıştır ve öğeleri anahtar / değer çiftleri biçiminde depolar. Her anahtar burada benzersiz olduğundan, yalnızca tek bir değere bağlanır veya eşlenir. Bu anahtar / değer çiftlerine eşleme girişleri denir.
Bu arayüzde, benzersiz anahtara bağlı olarak öğelerin alınması, eklenmesi ve kaldırılması için yöntem imzaları vardır. Bu, sözlük gibi anahtar / değer ilişkilerini eşlemek için mükemmel bir araçtır.
S # 20) Harita, Toplama Arayüzünü genişletmiyor. Neden?
Cevap: Koleksiyon Arayüzü, nesnelerin birikimidir ve bu nesneler, belirli erişim mekanizmasıyla yapısal olarak depolanır. Harita arayüzü anahtar-değer çiftlerinin yapısını takip ederken. Koleksiyon Arayüzünün add yöntemi, Harita Arayüzünün put yöntemini desteklemez.
Bu nedenle Harita, Koleksiyon Arayüzünü genişletmez, ancak yine de Java Koleksiyon Çerçevesinin önemli bir parçasıdır.
S # 21) HashMap Java'da nasıl çalışır?
Cevap: HashMap, Map tabanlı bir koleksiyondur ve öğeleri anahtar-değer çiftlerinden oluşur. Bir HashMap tipik olarak veya ile gösterilir. Her bir hashmap öğesine anahtarı kullanılarak erişilebilir.
Bir HashMap, 'Hashing' prensibine göre çalışır. Hashing tekniğinde, daha uzun bir dizge, bir algoritmadan başka bir şey olmayan bir 'karma işlevi' tarafından daha küçük bir dizeye dönüştürülür. Daha küçük dizi, daha hızlı arama ve verimli indekslemeye yardımcı olur.
S # 22) IdentityHashMap, WeakHashMap ve ConcurrentHashMap'i açıklayın.
Cevap:
IdentityHashMap HashMap'e çok benzer. Aradaki fark, öğeleri karşılaştırırken IdentityHashMap'in referans eşitliğini kullanmasıdır. Tercih edilen bir Harita Uygulaması değildir ve Harita Arayüzünü çalıştırmasına rağmen, Haritanın genel sözleşmesine kasıtlı olarak uymaz.
Dolayısıyla, nesneleri karşılaştırırken, bu eşittir yönteminin kullanılmasına izin verir. Referans eşitlik anlambilimine ihtiyaç duyulan nadir durumlarda kullanılmak üzere tasarlanmıştır.
WeakHashMap Uygulama, anahtarlarına yalnızca zayıf referansları saklar. Bu, WeakHashMap dışında anahtarlarının daha fazla referansı olmadığında bir anahtar / değer çiftinin çöp toplamasına izin verir.
Öncelikle nesne kimliği testinin == operatörü kullanılarak eşit yöntemlerle gerçekleştirildiği anahtar nesnelerle kullanılır.
ConcurrentHashMap ConcurrentMap ve Serializable arabirimlerini uygular. Çok iş parçacıklı ortamda iyi çalışmadığı için HashMap'in yükseltilmiş, geliştirilmiş sürümüdür. HashMap ile karşılaştırıldığında daha yüksek performans oranına sahiptir.
S # 23) HashMap için iyi bir anahtarın kalitesi nedir?
Cevap: HashMap'in nasıl çalıştığını anlamak, temel nesnelerin eşit ve hashCode yöntemlerine bağlı olduklarını bilmek kolaydır. Bu nedenle, iyi bir anahtar, getirildiği zamana bakılmaksızın aynı hashCode'u defalarca sağlamalıdır.
Aynı şekilde, eşittir yöntemiyle karşılaştırıldığında, aynı anahtarlar doğru ve farklı anahtarlar yanlış döndürmelidir. HashMap anahtarları için en iyi adayın değişmez sınıflar olduğu söylenmesinin nedeni budur.
S # 24) TreeMap'i ne zaman kullanabilirsiniz?

(resim kaynak )
Cevap: TreeMap, HashMap'in özel bir biçimi olarak, HashMap'te eksik olan bir şey olarak varsayılan 'doğal sıralama' olarak anahtarların sıralanmasını sağlar. Bazı anahtarlarla nesneleri sıralamak için kullanabilirsiniz.
Örneğin, Alfabetik sırada bir sözlük uygulamak ve yazdırmak istiyorsanız, TreeMap'i TreeSet ile birlikte kullanabilirsiniz. Otomatik olarak sıralanacaktır. Elbette, bunu manuel olarak da yapabilirdiniz, ancak iş, TreeMap kullanımıyla daha verimli bir şekilde yapılacaktır. Rastgele erişim sizin için hayati önem taşıyorsa da kullanabilirsiniz.
Sorular Arasındaki Fark
S # 25) Koleksiyon ve koleksiyonlar arasındaki fark nedir?
Cevap:
| Toplamak | Koleksiyonlar |
|---|---|
| Bir kümeyi geçmek için ListIterator'ı kullanamayız. | ListIterator List'i herhangi bir yönde gezebilir. |
| Bu bir arayüzdür. | Sınıftır. |
| Koleksiyon, tek bir varlık olarak bir nesne grubunu temsil eder. | Koleksiyonlar, koleksiyon nesneleri için farklı fayda yöntemlerini tanımlar. |
| Collection Framework’ün kök arayüzüdür. | Koleksiyonlar bir hizmet sınıfıdır. |
| Collection Framework'ün veri yapılarını türetir. | Koleksiyonlar, veri yapısının değiştirilmesine yardımcı olmak için birçok farklı statik yöntem içerir. |
S # 26) Array'in ArrayList'ten farkı nedir?
Cevap:
Array ve ArrayList arasındaki farklar aşağıda verilmiştir:
| Dizi | Dizi Listesi |
|---|---|
| Dizi türü güçlü bir sınıftır. | ArrayList, gevşek biçimde yazılmış bir sınıftır. |
| Dizi dinamik olarak yeniden boyutlandırılamaz, boyutu statiktir. | ArrayList dinamik olarak yeniden boyutlandırılabilir. |
| Bir dizi, öğelerin kutulanmasına ve kutudan çıkarılmasına gerek yoktur. | ArrayList, öğelerin kutulanmasına ve kutudan çıkarılmasına ihtiyaç duyar. |
S # 27) ArrayList ve LinkedList arasında ayrım yapın.
Cevap:
| Dizi Listesi | Bağlantılı liste |
|---|---|
| ArrayList, öğeleri depolamak için dahili olarak dinamik diziyi kullanır. | LinkedList çift bağlantılı listeyi uygular. |
| ArrayList öğelerinin işlenmesi oldukça yavaştır. | LinkedList, öğelerini çok daha hızlı işler. |
| ArrayList yalnızca bir Liste işlevi görebilir. | LinkedList hem Liste hem de Kuyruk görevi görebilir. |
| Verileri saklamak ve bunlara erişmek için kullanışlıdır. | Verileri işlemek için kullanışlıdır. |
S # 28) Yinelemenin Yineleyiciden farkı nedir?
Cevap:
| Tekrarlanabilir | Yineleyici |
|---|---|
| Java.lang paket arayüzüdür. | Java.util paket arayüzüdür. |
| Yineleyici olarak bilinen tek bir soyut yöntemi verir. | İki soyut yöntemle gelir - hasNext ve next. |
| Geçiş yapılabilen bir dizi öğeyi temsil eder. | Yineleme durumuna sahip nesneleri ifade eder. |
S # 29) Set ve List arasındaki farkları belirtin.
Cevap:
| Ayarlamak | Liste |
|---|---|
| Set, Set arayüzünü uygular. | Liste, Liste arayüzünü uygular. |
| Set, sıralanmamış bir öğeler kümesidir. | Liste, sıralı bir öğeler kümesidir. |
| Küme, ekleme sırasında öğelerin sırasını korumaz. | Liste, ekleme sırasında öğelerin sırasını korur. |
| Küme, yinelenen değerlere izin vermiyor. | Liste, yinelenen değerlere izin verir. |
| Set herhangi bir eski sınıf içermiyor. | Liste, eski bir sınıf olan Vector'u içerir. |
| Küme yalnızca bir boş değere izin verir. | Listedeki boş değerlerin sayısında kısıtlama yoktur. |
S # 30) Kuyruk ve Yığın arasındaki fark nedir?
Cevap:
| Kuyruk | Yığın |
|---|---|
| Kuyruk, İlk Giren İlk Çıkar (FIFO) yaklaşımı ilkesine göre çalışır. | Yığın, Son Giren İlk Çıkar (LIFO) temelinde çalışır. |
| Kuyruğa ekleme ve silme işlemi farklı uçlarda gerçekleşir. | Ekleme ve silme işlemi, yığının tepesi adı verilen aynı uçtan gerçekleştirilir. |
| Enqueue, Insertion'ın adıdır ve dequeue, öğelerin silinmesidir. | İtme, eklemedir ve Pop, Yığın içindeki öğelerin silinmesidir. |
| Listenin ilk öğesine (ön) ve biri son öğeye (arka) olmak üzere iki işaretçisi vardır. | Üst öğeye işaret eden tek bir işaretçiye sahiptir. |
S # 31) SinglyLinkedList ve DoublyLinkedList'in birbirinden farkı nedir?
Cevap:
| Tek Bağlantılı Liste | Çift Bağlantılı Liste |
|---|---|
| Tek bağlantılı listenin her düğümü, bir veri ve sonraki düğüme yönelik bir işaretçiden oluşur. | Çift bağlantılı bir liste, verilerden, sonraki düğüme bir göstericiden ve önceki düğüme bir işaretçiden oluşur. |
| Tek bağlantılı liste bir sonraki işaretçi kullanılarak taranabilir. | Çift bağlantılı bir liste, hem önceki hem de sonraki işaretçi kullanılarak geçilebilir. |
| Tek bağlantılı liste, çift bağlantılı listeye kıyasla daha az yer kaplar. | Çift bağlantılı liste çok fazla bellek alanı kaplar. |
| Eleman erişimi çok verimli değil. | Eleman erişimi etkilidir. |
S # 32) HashMap'in HashTable'dan farkı nedir?
Cevap:
| HashMap | HashTable |
|---|---|
| HashMap, AbstractMap sınıfını devralır | HashTable, Dictionary sınıfını devralır. |
| HashMap senkronize edilmedi. | HashTable senkronize edilir. |
| HashMap, birden çok boş değere, ancak yalnızca bir boş anahtara izin verir. | HashTable, boş bir değere veya anahtara izin vermez. |
| HashMap daha hızlıdır. | HashTable, HashMap'ten daha yavaştır. |
| HashMap, Yineleyici ile gezilebilir. | HashTable üzerinden geçiş yapılamaz yineleyici veya numaralandırıcı kullanarak. |
S # 33) ArrayList ve Vector arasındaki farkı listeleyin.
Cevap:
| Dizi Listesi | Vektör |
|---|---|
| ArrayList senkronize değil. | Vektör senkronize edilir. |
| ArrayList, eski bir sınıf değildir. | Vector, eski bir sınıftır. |
| ArrayList, boyutunun ötesinde bir öğe eklendiğinde ArrayList'in boyutunu yarıya indirir. | Vektör, boyutunun ötesinde bir öğe eklendiğinde boyutunu iki katına çıkarır. |
| ArrayList iş parçacığı açısından güvenli değil | Vektör iş parçacığı açısından güvenlidir. |
S # 34) FailFast'ın Failsafe'den farkı nedir?
Cevap:
| FailFast | Arıza Güvenliği |
|---|---|
| Yineleme sırasında koleksiyonda değişiklik yapılmasına izin verilmez. | Yineleme sırasında değişikliğe izin verir. |
| Geçiş için orijinal koleksiyonu kullanır. | Orijinal koleksiyonun bir kopyasını kullanır. |
| Ekstra bellek gerekmez. | Ekstra belleğe ihtiyaç duyar. |
| ConcurrentModificationException atar. | Hiçbir istisna atılmaz. |
Sonuç
Bu Java Koleksiyonları mülakat soruları mülakata hazırlanmanıza yardımcı olacaktır. Java Koleksiyonları mülakatı için hazırlığınız derin ve kapsamlı olmalıdır, bu nedenle bu soruları çalışın ve kavramı iyi anlayın.
Bu sorular sadece bilginizi değil, aynı zamanda zihninizin varlığını da test eder.
=> Basit Java Eğitim Serisine Buradan Dikkat Edin
Önerilen Kaynaklar
- Yeni Başlayanlar İçin JAVA Eğitimi: 100+ Uygulamalı Java Video Eğitimi
- Java Temel Bilgileri: Java Sözdizimi, Java Sınıfı ve Temel Java Kavramları
- Mülakat Soruları ve Cevapları
- ETL Test Mülakat Soruları ve Cevapları
- 30 En Popüler HTML Mülakat Soruları ve Cevapları (2021 LİSTESİ)
- En Popüler 30+ Salatalık Röportaj Soruları ve Cevapları
- En İyi 40 Java 8 Mülakat Soruları ve Cevapları (En Önemli)
- En İyi 30 SAS Mülakat Soruları ve Cevapları