80 Java Koleksiyonlar Röportaj Soruları ve Cevapları (2025)

İşte Java Hayallerindeki işi bulmaları için yeni ve deneyimli adaylara yönelik Koleksiyonlar Mülakat Soruları.

 

Java Koleksiyonlara Yeni Gelenler için Röportaj Soruları ve Cevapları

1) Çerçeve nedir? Java?

Çerçeve, bir dizi sınıf ve arayüz içeren popüler ve hazır bir mimaridir.


2) Koleksiyon çerçevesi nedir? Java?

Koleksiyon Çerçevesi, nesneleri depolamak ve yönetmek için kullanılan bir sınıf ve arayüz grubudur. Vector, ArrayList, HashSet, Stack vb. gibi çeşitli sınıflar sağlar. Java Koleksiyon çerçevesi ayrıca Queue, Set, List vb. arayüzler için de kullanılabilir.

Java Koleksiyonlar Röportaj Soruları


3) Koleksiyonlar Dersini Açıklayın

java.util.Collections, koleksiyonlar üzerinde çalışan statik yöntemlerden oluşan bir sınıftır. Koleksiyonlar, “sarmalayıcılar” üzerinde çalışacak polimorfik algoritmalar içerir. Bu sınıf, ikili sıralama, arama, karıştırma vb. gibi algoritmalar için yöntemler içerir.


4) hashCode() nedir?

HashCode(), tamsayı karma kodunu döndüren bir yöntemdir.


5) ArrayList ile Vector arasındaki farkı ayırt edin. Java toplama çerçevesi.

Dizi Listesi vektör
ArrayList senkronize edilemiyor. Vektör senkronize edilebilir.
Bu bir miras sınıfı değil. Bu bir miras sınıfıdır.
Boyutunu dizinin boyutunun %50'si kadar artırabilir. Dizinin boyutunu iki katına çıkararak boyutunu artırabilir.
ArrayList iş parçacığı açısından güvenli değildir. Vector iş parçacığı açısından güvenlidir.

6) ArrayList'in içeriği nedir? Java?

Dizi Listesi kendi içerisinde ek elemanları barındıracak şekilde genişletilebilen ve elemanlar çıkarıldığında daha küçük bir boyuta küçülebilen bir veri yapısıdır. Elementlerin dinamik davranışlarının ele alınmasında yararlı olan çok önemli bir veri yapısıdır.


7) Iterator ve ListIterator arasındaki farkı ayırt edin

Iterator ve ListIterator arasındaki fark şudur:

yineleyici ListeYineleyici
Yineleyici, dizi elemanlarını ileri yönde hareket ettirebilir. ListIterator, dizi öğelerini ileri ve geri yönde hareket ettirebilir.
Kuyruk, Liste ve Ayarda kullanılabilir. Listede kullanılabilir.
Yalnızca kaldırma işlemini gerçekleştirebilir. Koleksiyonda dolaşırken ekleme, çıkarma ve ayarlama işlemlerini gerçekleştirebilir.

8) Yineleyici ve Numaralandırma arasındaki fark nedir?

Yineleyici ve Numaralandırma arasındaki fark

yineleyici sayım
Yineleyici, hem eski öğelerden hem de eski olmayan öğelerden geçebilir. Numaralandırma yalnızca eski öğeler arasında geçiş yapabilir.
Yineleyici hızlıdır. Numaralandırma hızlı değildir.
Yineleyici, Numaralandırmaya kıyasla çok yavaştır. Numaralandırma, Iterator'a kıyasla hızlıdır.
Yineleyici, koleksiyonda dolaşırken kaldırma işlemini gerçekleştirebilir. Numaralandırma, koleksiyon üzerinde yalnızca çapraz işlem gerçekleştirebilir.

9) BlockingQueue'yu tanımlayın

BlockingQueue, kullanılan bir arayüzdür. Java Kuyruğu genişletebilir. Alma, ekleme, silme vb. gibi çeşitli kuyruk işlemlerinde eşzamanlılık sağlar.

Kuyruk, herhangi bir öğenin alınması sırasında boş kalmamayı bekler. BlockingQueue boş öğeler içermemelidir. Bu Kuyruğun uygulanması iş parçacığı açısından güvenlidir.

BlockingQueue'un sözdizimi şöyledir:

public interface BlockingQueue<E> extends Queue <E>

10) Override equals() yöntemini açıklayın

Eşittir yöntemi, iki nesne arasındaki benzerliği kontrol etmek için kullanılır. Programcının bir nesneyi özelliğe göre kontrol etmek istemesi durumunda, bunun geçersiz kılınması gerekir.


11) Karşılaştırılabilir ve Karşılaştırıcı arasındaki fark nedir?

Karşılaştırılabilir ve Karşılaştırıcı arasındaki fark:

karşılaştırılabilir Karşılaştırıcı
Comparable, öğeleri sıralamak için CompareTo() yöntemini sağlar. Java. Karşılaştırıcı, öğeleri sıralamak için Compare() yöntemini sağlar. Java.
Karşılaştırılabilir arayüz Java.lang paketinde mevcuttur. Karşılaştırıcı arayüzü Java'da mevcuttur. paketi kullanın.
Sıralama mantığı, nesnesini sıralayacağınız sınıfın aynı sınıfta olması gerekir. Nesnelerin farklı özelliklerine göre farklı sıralama yazabilmek için sıralama mantığı ayrı bir sınıfta olmalıdır.
Nesnelerini sıralamak istediğiniz sınıfın karşılaştırılabilir arayüzü uygulaması gerekir. Nesnelerini sıralamak istediğiniz sınıfın bir karşılaştırıcı arayüzü uygulamasına gerek yoktur.
Tek sıralama dizileri sağlar. Çoklu sıralama dizileri sağlar.
Bu yöntem verileri doğal sıralama düzenine göre sıralayabilir. Bu yöntem, verileri özelleştirilmiş sıralama düzenine göre sıralar.
Orijinal sınıfı etkiler. yani gerçek sınıf değiştirilir. Orijinal sınıfı etkilemez, yani gerçek sınıf değiştirilmez.
API'de Takvim, Sarmalayıcı sınıfları, Tarih ve Dize tarafından sıklıkla uygulanır. Üçüncü taraf sınıfların örneklerini sıralamak için uygulanır.
Tüm sarmalayıcı sınıfları ve String sınıfı karşılaştırılabilir arayüzü uygular. Karşılaştırıcının uygulanan tek sınıfları Collator ve RuleBasedColator'dır.

12) equals()'ı örnekle açıklayın

Equals(), sayı nesnesinin argüman olarak iletilen nesneye eşit olup olmadığını doğrular.

equals() yönteminin sözdizimi şöyledir:

public boolean equals(Object o)

Bu yöntem iki parametre alır: 1) herhangi bir nesne, 2) dönüş değeri. İletilen bağımsız değişken boş değilse ve aynı sayısal değere sahip benzer türde bir nesne ise true değerini döndürür.

Örnek:

import java.lang.Integer;
public class Test { 
   public static void main(String args[]) {
      Integer p = 5;
      Integer q = 20;
      Integer r =5;
      Short s = 5;
      System.out.println(p.equals(q));  
      System.out.println(p.equals(r)); 
      System.out.println(p.equals(s));
   }
}

13) Jenerik koleksiyonun faydalarını sıralayın

Genel koleksiyonu kullanmanın faydaları şunlardır:

  • Programcılar jenerik sınıf kullanıyorsa, tip dağıtımına ihtiyaç duymazlar.
  • Tip açısından güvenlidir ve derleme sırasında kontrol edilebilir.
  • Derleme anında hatayı tespit ederek kodun kararlılığını sağlar.

14) ArrayList'i Array'e ve Array'i ArrayList'e dönüştürme yöntemini açıklayın

Programcılar Arrays sınıfının asList() yöntemini kullanarak bir Array'i ArrayList'e dönüştürebilir. List nesnesini kabul eden Arrays sınıfının statik bir yöntemidir. asList() yönteminin sözdizimi şöyledir:

Arrays.asList(item)

Java programcılar ArrayList'i söz dizimini kullanarak List nesnesine dönüştürebilirler:

List_object.toArray(new String[List_object.size()])

15) ArrayList örneğini verin

Ters ArrayList örneği:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

16) Bir diziyi azalan düzende sıralamak için örnek verin

Bir diziyi azalan düzende sıralama örneği:

package com.guru99;

public class SelectionSortAlgo {
 
	public static void main(String a[])
	{  
		int[] myArray = {860,8,200,9}; 
		
		System.out.println("------Before Sort-----");
 
		printArray(myArray);
 		selection(myArray);//sorting array using selection sort  
 		System.out.println("-----After Sort-----");  
		printArray(myArray); 
	} 
		public static void selection(int[] array)
	{  
		for (int i = 0; i < array.length - 1; i++)  
		{  System.out.println("Sort Pass Number "+(i+1));
			int index = i;  
			for (int j = i + 1; j < array.length; j++)
			{   
			    System.out.println("Comparing "+ array[index]  + " and " + array[j]);  
				if (array[j] < array[index]){ 
				System.out.println(array[index]  + " is greater than " + array[j] );
					index = j;		
				}  
			}  
			int smallerNumber = array[index];   
			array[index] = array[i];  
			array[i] = smallerNumber;  
			System.out.println("Swapping Elements: New Array After Swap");
			printArray(array);
		}  
	}  
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();   
	}
}

17) Temel arayüzleri açıklar Java koleksiyon çerçevesi

Java Koleksiyon çerçevesi, koleksiyon hiyerarşisinin köküdür. Öğeleri olarak bir grup nesneyi temsil eder. Java programlama dili bu tür bir arayüzün doğrudan uygulanmasını sağlamaz.

  • Set: Set, yinelenen öğeleri olmayan bir koleksiyondur. Öğeleri depolamak için karma tablosunu kullanır.
  • Liste: Liste, yinelenen öğeler içerebilen sıralı bir koleksiyondur. Geliştiricilerin gelen kutusundan herhangi bir öğeye erişmesini sağlar. Liste, dinamik uzunluğa sahip bir dizi gibidir.
  • HARİTA: Anahtarları değerlerle eşleştiren bir nesnedir. Yinelenen anahtarlar içeremez. Her anahtar en az bir değere eşlenebilir.

18) Özellikleri nelerdir? Java Hashmap?

Özellikleri Java hashmap şunlardır:

  • Değerler bir anahtar-değer çifti oluşturularak bir haritada saklanabilir. Değer, anahtar kullanılarak doğru yönteme geçirilerek alınabilir.
  • Haritada hiçbir öğe yoksa, bir 'NoSuchElementException' oluşturulur.
  • HashMap yalnızca nesne referanslarını depolar. Bu nedenle double veya int gibi ilkel veri tiplerini kullanmak imkansızdır. Sarmalayıcı sınıf kullanın (Integer veya Double) yerine.


19) Yığın Nedir?

Yığın, bir işlev tarafından oluşturulan geçici değişkenleri saklayan, bilgisayar belleğinin özel bir alanıdır. Yığında değişkenler çalışma zamanı sırasında bildirilir, saklanır ve başlatılır.


20) Bağlantılı liste nedir?

Bağlantılı liste, bir dizi öğeyi depolayabilen bir veri yapısıdır. Başka bir deyişle, bağlantılı listeler aynı türden birden fazla nesneyi depolamak için kullanılabilir. Listenin her birimi veya öğesi bir düğüm olarak adlandırılır. Bağlantılı listedeki bir düğümün verileri ve bir sonraki düğümün adresi bulunur. Bir zincir gibidir. Bağlantılı Listeler grafikler ve ağaçlar oluşturmak için kullanılır.


Java Koleksiyonlar Deneyimlilere Yönelik Röportaj Soruları ve Cevapları

21) ArrayList örneğini verin

ArrayList örneği:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

22) Tarafından desteklenen bağlantılı listeyi açıklayın Java

Tarafından desteklenen iki tür bağlantılı liste Java şunlardır:

  • Tek Bağlantılı liste: Tek Bağlantılı liste bir tür veri yapısıdır. Tek bağlantılı listede, listedeki her düğüm, düğümün içeriğini ve listedeki bir sonraki düğüme yönelik bir referansı veya işaretçiyi saklar. Önceki düğüme herhangi bir referans veya işaretçi saklamaz.
  • Çift bağlantılı listeler: Çift bağlantılı listeler, veri öğeleri arasında geçişin her iki yönde de yapılabildiği özel bir bağlantılı liste türüdür. Bu, her düğümde biri sonraki düğüme, diğeri önceki düğüme bağlanan iki bağlantının bulunmasıyla mümkün olur.

23) Queue arayüzünün sağladığı yöntemleri açıklayınız?

Yöntemleri Java Kuyruk arayüzü şunlardır:

Yöntem Açıklama
Boolean eklentisi (nesne) Belirtilen öğeyi Kuyruğa ekler. Başarılı olması durumunda true değerini döndürür.
boolean teklifi(nesne) Bu yöntem, öğeyi Kuyruğa eklemek için kullanılır.
Nesne kaldırma() Kuyruk başlığını alır ve kaldırır.
Nesne yoklaması() (): Kuyruk başlığını alır ve kaldırır veya boş olması durumunda null değerini döndürür.
Nesne yoklaması() Kuyruk başlığını alır ve kaldırır veya boş olması durumunda null değerini döndürür.
Nesne öğesi() Verileri Kuyruktan alır ancak kafasını kaldırmaz.
Nesneye göz atma() Verileri Kuyruktan alır ancak başlığını kaldırmaz veya Kuyruk boşsa, null değerini alır.

24) Stack sınıfının sağladığı yöntemlerden bahsedin

Stack sınıfının sağladığı önemli yöntemler şunlardır:

  • itmek(): Öğeyi yığının içine itin.
  • boş (): Bu yöntem yığının boş olup olmadığını bulur.
  • pop (): Bu Java toplama çerçevesi yöntemi, nesneyi yığından kaldırır.
  • aramak (): Bu yöntem yığındaki öğeleri arar.
  • dikizlemek (): Bu Java yöntem yığın nesnesini kaldırmadan bakar.

25) EmptySet()'i tanımlayın. Java koleksiyon çerçevesi

Programcılar boş öğeleri kaldırmaya çalıştığında boş değişmez kümeyi döndüren emptySet() yöntemi. EmptySet() tarafından döndürülen küme serileştirilebilir. Bu yöntemin sözdizimi şöyledir:

genel statik final Ayarlamak boş küme()


26) Koleksiyon ve Koleksiyonlar Arasındaki Farkı Ayırın

Koleksiyon ve Koleksiyonlar arasındaki farklar şunlardır:

Koleksiyon Koleksiyonlar
Koleksiyon bir arayüzdür. Koleksiyonlar bir sınıftır.
Bir grup nesneyi tek bir varlık olarak temsil eder. Koleksiyon nesneleri için çeşitli yardımcı program yöntemlerini tanımlar.
Koleksiyon, uygulamanın kök arayüzüdür. Java Koleksiyon çerçevesi. Koleksiyonlar genel bir yardımcı program sınıfıdır.
Bu arayüz koleksiyon veri yapılarını türetmek için kullanılır. Bu sınıf veri yapısını değiştirmek için statik yöntemler içerir.

27) LinkedHashSet'i tanımlayın Java Koleksiyon çerçevesi?

LinkedHashSet, HashSet adı verilen sınıfın bir alt sınıfıdır ve set arayüzünü uygular. HashSet'in tüm öğelerinde çift bağlantılı bir Listeyi koruyan iyi düzenlenmiş bir sürümüdür.


28) Arızalı ve arıza korumalı arasındaki fark nedir?

Başarısız Hatasiz
Yineleme sırasında koleksiyon değişikliğine izin vermez. Yineleme sırasında koleksiyon değişikliğine izin verir.
ConcurrentModificationException'ı atabilir Herhangi bir istisna atamaz.
Öğeleri dolaşmak için orijinal koleksiyonu kullanır. Öğelerin arasında geçiş yapmak için orijinal bir koleksiyon kopyası kullanır.
Ekstra hafızaya gerek yoktur. Ekstra hafıza gereksinimi vardır.

29) Bir harita arayüzünün koleksiyon görünümlerini listeleyin

Harita arayüzünün koleksiyon görünümleri şunlardır: 1) anahtar seti görünümü, 2) değer seti görünümü ve 3) giriş seti görünümü.


30) Koleksiyon Çerçevesinin faydaları nelerdir? Java?

Koleksiyon Çerçevesinin faydaları Java şunlardır:

  • Java toplama çerçevesi, programın doğruluğunu ve hızını artıran yüksek verimli ve etkili veri yapıları sunar.
  • Program ile geliştirilen Java toplama çerçevesinin bakımı kolaydır.
  • Bir geliştirici, sınıfları diğer türlerle karıştırarak kodun yeniden kullanılabilirliğini artırabilir.
  • The Java Koleksiyon çerçevesi, programcıların ilkel koleksiyon türlerini istedikleri şekilde değiştirmelerine olanak tanır.

31) Koleksiyon nesnelerini sıralamanın iyi bir yolu nedir? Java?

Sıralamanın iyi bir yolu Java koleksiyon nesneleri Karşılaştırılabilir ve Karşılaştırıcı arayüzlerini kullanıyor. Bir geliştirici Collections.sort()'u kullanabilir; öğeler, CompareTo()'da belirtilen sıraya göre sıralanır.

Bir geliştirici Koleksiyonlar, sıralama (Karşılaştırıcı) kullandığında, nesneleri Karşılaştırıcı arayüzünün karşılaştırma() işlevine bağlı olarak sıralar.


32) Vektörü açıklayın Java

Vektör bir diziyle aynıdır. Bir indeks değeri kullanılarak erişilebilen bileşenlere sahiptir. Vektörler, toplama çerçevesinin parçası olmayan eski bir yöntem içerebilir.


33) Küme ve Harita arasındaki fark nedir?

set Harita
Set package-java.util'e aittir. Harita package-java.util'e aittir.
Koleksiyon arayüzünü genişletebilir. Koleksiyon arayüzünü genişletmez.
Yinelenen değerlere izin vermez. Yinelenen değerlere izin verir.
Set yalnızca bir boş değeri sıralayabilir. Harita birden fazla boş değeri sıralayabilir.

34) Sözlük sınıfını tanımlayın

Sözlük sınıfı bir Java Anahtar/değer çiftlerini saklama yeteneğine sahip sınıf.


35) EnumSet'i tanımlayın

java.util.EnumSet, enum türleriyle kullanılabilen Set uygulamasıdır. Tüm öğelere sahip EnumSet, açıkça veya dolaylı olarak belirtilen bir enum türünden gelmelidir. Eşzamanlı değildir ve ayrıca null anahtarlara izin verilmez. EnumSet, EnumSetof(E first, E… rest), complementOf(EnumSet s) ve copyOf(Collection c) gibi yöntemler sağlar.


36) ArrayList'teki kopyaları kaldırmanın iki yolu nedir?

ArrayList'teki kopyaları kaldırmanın iki yolu şunlardır:

  • Karma Kümesi: Geliştirici, yinelenen öğeyi ArrayList'ten kaldırmak için HashSet'i kullanabilir. Dezavantajı ise ekleme sırasını koruyamamasıdır.
  • LinkedHashSet: Geliştiriciler ayrıca HashSet yerine LinkedHashSet kullanarak ekleme sırasını da koruyabilirler.

37) IdentityHashMap nedir?

IdentityHashMap, Seri hale getirilebilir, Klonlanabilir arayüzleri, Haritayı uygulayan ve AbstractMap sınıfını genişleten bir sınıftır. Referans eşitliği semantiğine ihtiyaç duyulan durum için tasarlanmıştır.


38) WeakHashMap nedir?

WeakHashMap, aşağıdakilerin bir uygulamasıdır: Java Harita. Anahtarlarına yönelik zayıf referansları depolamak için kullanılır. Bu Haritayı kullanarak sıralama, bir anahtar/değer çiftinin çöp olarak toplanmasına olanak tanır. Anahtarına WeakHashMap dışında başvurulmuyor.


39) Koleksiyonu iş parçacığı açısından güvenli hale getirmenin yöntemleri nelerdir?

Koleksiyon iş parçacığını güvenli hale getirme yöntemleri şunlardır:

  • Koleksiyonlar.senkronizeList(liste);
  • Koleksiyonlar.eşzamanlıHarita(harita);
  • Koleksiyonlar.senkronizeSet(set);

40) Desteklenmeyen AçıklamaOperaistisna istisnası

desteksizOperationException, gerçek koleksiyon türü tarafından desteklenmeyen yöntemlere atılan bir istisnadır.

Örneğin, Geliştirici “Collections.unmodifiableList(list)” kullanarak salt okunur bir liste oluşturuyor ve call(), add() veya Remove() yöntemini çağırıyor. Açıkça Desteklenmeyen'i atmalıOperaistisna.


41) Öğelerine rastgele öğe erişimi sağlayan koleksiyon sınıflarını adlandırın

Öğelerine rastgele öğe erişimi sağlayan koleksiyon sınıfları şunlardır: 1) ArrayList, 2) HashMap, 3) TreeMap ve 4) Hashtable.


42) Queue ve Deque arasındaki farkı açıklayın.

Kuyruk güverte
Buna tek uçlu kuyruk denir Buna çift uçlu kuyruk denir
Kuyruktaki öğeler bir uçtan eklenir veya çıkarılır Kuyruktaki öğeler her iki uçtan da eklenir ve her iki uçtan da eklenebilir ve çıkarılabilir
Daha az çok yönlüdür. Daha çok yönlüdür.

43) Uygulama Listesi ve Ayarlama arayüzünden bahsedin

Sınıf uygulayan Liste arayüzü: 1) ArrayList, 2) Vector ve 3) LinkedList.

Sınıf uygulayan Set arayüzü: 1) HashSet ve 2) TreeSet.


44) Yineleyici tarafından takip edilen tasarım modelini açıklayın

Yineleyici, yineleyici tasarım deseninin ayrıntılarını takip eder. Geliştiricinin, uygulamasını bilmeden ortak bir arayüz kullanarak nesne koleksiyonları arasında gezinmesini sağlar.


45) Queue arayüzünün peek()'i nedir?

Peek() bir kuyruk arayüzü yöntemidir. Tüm öğeleri alır ancak kuyruk başlığını kaldırmaz. Kuyruğun boş olması durumunda bu yöntem null değerini döndürür.


46) CopyOnWriteArrayList nedir?

CopyOnWriteArrayList, ArrayList'in bir çeşidi olup, ekleme ve ayarlama gibi işlemler dizinin bir kopyası oluşturularak gerçekleştirilir. Bu iş parçacığı açısından güvenlidir ve bu nedenle ConcurrentModificationException oluşturmaz. Bu ArrayLists, null dahil tüm öğelere izin verir.


47) ArrayList ve LinkedList arasındaki farkı ayırt edin

ArrayList ve LinkedList arasındaki fark şudur:

Dizi Listesi Bağlantılı liste
Dinamik bir dizi kullanır. Çift bağlantılı bir liste kullanır.
ArrayList manipülasyon için tercih edilmez. LinkedList manipülasyon için tercih edilir.
ArrayList rastgele erişim sağlar. LinkedList rastgele erişim sağlamaz.
ArrayList yalnızca nesneleri depolar, dolayısıyla daha az bellek yükü alır LinkedList, adres nesnesinin yanı sıra nesneyi de saklar; dolayısıyla daha fazla bellek yükü gerektirir.

48) Yineleyici arayüz yöntemlerini açıklar

Yineleyici arayüzünün yöntemleri şunlardır:

Yöntem Açıklama
genel boolean hasNext() Yineleyicide eleman varsa true döner; aksi takdirde false döner.
public Nesne sonraki() Bu yöntem, öğeyi döndürür ve işaretçiyi bir sonraki değere taşır.
genel geçersiz kaldırma() Bu Java yöntem yineleyici tarafından döndürülen son öğeleri kaldırabilir. Public void remove() daha az kullanılır.

49) HashSet sınıfının metodları nelerdir?

HashSet sınıfının yöntemleri şunlardır:

Yöntemler Açıklama
boolean eklentisi (Nesne o) Bu yöntem, halihazırda mevcut değilse, söz öğesini bu kümeye ekler.
boolean şunları içerir (Nesne o): Küme belirtilen öğeyi içeriyorsa true değerini döndürür.
geçersiz temizleme(): Bu yöntem set öğelerini kaldırır.
boolean isEmpty(): Kümenin hiçbir elemanı olmadığı durumda true değerini döndürür.
boolean kaldır(Nesne o): Belirtilen elemanı kümeden çıkarır.
nesne klonu(): Bu yöntem HashSet örneğinin bir kopyasını döndürür: öğelerin kendisi kopyalanmaz.
yineleyici yineleyici() Bu kümedeki öğeler üzerinde bir yineleyici döndürür.
int boyutu(): Kümede mevcut olan eleman sayısını döndürür.

50) Yöntemleri nelerdir? Java TreeSet sınıfı?

yöntemleri Java TreeSet sınıfı şunlardır:

Yöntemler Descriptiyonları
boolean addAll(Koleksiyon c) Belirtilen koleksiyondaki tüm öğeleri bu kümeye ekleyin.
boolean içerir(Nesne o) Küme bahsetme öğesini içeriyorsa true değerini döndürür.
boolean isEmpty() Bu Java Bu küme hiçbir öğe içermiyorsa yöntem true değerini döndürür.
boolean kaldır (Nesne o) Belirtilen öğeyi kümeden çıkarın.
geçersiz ekleme (Nesne o) Belirtilen elemanı sete ekler.
geçersiz temizleme() Bu Java yöntem kümedeki tüm elemanları kaldırır.

51) Bağlantılı HashSet'i açıklayın

Java LinkedHashSet sınıfı, Set arayüzünün Bağlantılı listesi ve Hash tablosu uygulamasıdır. HashSet ile aynı benzersiz öğeler içerir. Bağlantılı HashSet Java Ayrıca, ekleme sırasını koruyabilen isteğe bağlı küme işlemleri de sağlar.


52) Bağlantılı listede kullanılan önemli yöntemler nelerdir?

Bağlantılı listede kullanılan önemli yöntemler şunlardır:

Yöntem Açıklama
boolean eklentisi (Nesne o) Belirtilen elemanı vektörün sonuna eklemek için kullanılır.
boolean içerir(Nesne o) Bu liste belirtilen öğeyi içeriyorsa true değerini döndüren bir yöntemdir.
geçersiz ekleme (int dizini, Nesne öğesi) Öğeyi vektörde belirtilen öğeye ekler.
void addFirst(Object o) Verilen elemanın başına eklemek için kullanılır.
void addLast(Nesne o) Verilen elemanı sonuna eklemek için kullanılır.
Dahili boyut() Bu yöntem bir listedeki toplam öğe sayısını döndürmek için kullanılabilir.
boolean kaldır (Nesne o) Belirtilen öğenin ilk oluşumunu bu listeden kaldırabilir.
int indexOf(Nesne öğesi) Bu Java yöntem, bahsedilen öğenin bu listede ilk kez geçtiği dizini veya -1'i döndürür.
int lastIndexOf(Nesne öğesi) Bu, bir Java Belirtilen öğenin bu listede son kez görüldüğü dizini veya -1'i döndüren yöntem.

53) Setler halinde mevcut olan çeşitli sınıfları listeleyin

Kümeler halinde kullanılabilen çeşitli sınıflar şunlardır: HashSet, TreeSetand ve LinkedHashSet.


54) Mevcut yöntemlerin listesi Java Kuyruk arayüzü

  • Boolean eklentisi (nesne)
  • boolean teklifi(nesne)
  • nesne kaldırma()
  • nesne yoklaması()
  • nesne öğesi()
  • nesneye göz atma()

55) Liste ve Set arasındaki farkı ayırt edin.

Liste set
Düzenli bir öğe koleksiyonu Sırasız bir öğe koleksiyonu
Ekleme sırasını korur Ekleme siparişini korumaz
Yinelenen değerlere izin verilir Yinelenen değerlere izin verilmez
Herhangi bir sayıda boş değer saklanabilir Yalnızca bir boş değer saklanabilir
ListIterator, Listeyi herhangi bir yönde dolaşmak için kullanılabilir ListIterator bir Kümeyi geçmek için kullanılamaz
Vector adı verilen eski bir sınıfı içerir Herhangi bir eski sınıf içermiyor

Java 5+ Yıllık Deneyim için Koleksiyonlar Röportaj Soruları ve Cevapları

56) Her döngüyü örnekle açıklayın

For-Each Döngüsü, diziyi dolaşmak için kullanılan başka bir for döngüsü biçimidir. Kodu önemli ölçüde azaltır ve döngüde indeksin veya daha doğrusu sayacın kullanımı yoktur.

Her döngü için örnek:

class UsingForEach {
  public static void main(String[] args) {
    String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};
    //The conventional approach of using the for loop
    System.out.println("Using conventional For Loop:");
    for(int i=0; i< arrData.length; i++){
      System.out.println(arrData[i]);
    }
    System.out.println("\nUsing Foreach loop:");
    //The optimized method of using the for loop - also called the foreach loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

57) Elmas operatörünü açıklayın

Elmas operatörü derleyicinin genel sınıfın tür argümanlarını toplamasını sağlar. Java SE, geliştirici parametreli oluşturucuyu elmas operatörü olarak bilinen boş parametre kümeleri (<>) ile değiştirebilir.


58) Rastgele erişim arayüzünü açıklayın

RandomAccess arayüzü, List uygulamaları tarafından hızlı desteklediklerini belirtmek için kullanılır.


59) Rastgele erişim arayüzünü uygulayan koleksiyon sınıflarını adlandırın

Java.util paketinin rastgele erişim arayüzünü uygulayabilen sınıfları vardır: CopyOnWriteArrayList, Stack, ArrayList ve Vector.


60) Birden fazla ArrayList'e nasıl katılabilirim?

Liste, birden fazla ArrayList addall() yöntemi sağlar. Java.

Örneğin, iki listeyi düşünün: 1) alanList ve 2) ikinciAlanList. Bir geliştirici addall() işlevini kullanarak bunlara katılabilir:

fieldList.addAll(secondAreaList);


61) Deque Arayüzünü açıklayın

Java.util.Deque Java, Queue arayüzünü genişleten bir arayüz. Her iki uçta da öğelerin eklenmesi ve silinmesi için destek sağlar. Bu Queue'ya ayrıca çift uçlu kuyruk da denir.


62) Bağlantılı hashmap'i açıklayın

LinkedHashMap, Harita arayüzünün uygulanmasıdır. Ayrıca HashMap sınıfını da genişletebilir. Bu nedenle, HashMap gibi LinkedHashMap de şunları sağlar: Java geliştiricilerin bir boş anahtara ve birden fazla boş değere izin vermesi.


63) ArrayList'ten öğeleri kaldırma yöntemlerini açıklayın

ArrayList'ten öğeleri kaldırma yöntemleri şunlardır:

Yöntem Açıklama
açık() Bu yöntem, öğeleri ArrayList'ten kaldırır.
kaldır(int dizini) ArrayList'in bu yöntemi, öğeyi belirli bir konumda kaldırabilir.
kaldır (Nesne o) Bahsedilen öğenin ilk oluşumunu ArrayList'ten kaldırabilir.
hepsini kaldır() Belirli bir koleksiyondaki öğelerin listesini kaldırabilir.
RemoveIf(Yüklem filtre) Bu yöntem, bir yüklemin belirtilmesini sağlayan unsurları ortadan kaldırır.

64) Haritayı açıklayın. Haritaya giriş

Map.entry bir Java java.util arayüzü. Map'te iç içe bir arayüzü vardır. Bu arayüz, üyesi olduğu sınıf veya arayüzün adıyla nitelendirilmelidir. Bu nedenle Map olarak nitelendirilir. Entry. Bir Map öğesini oluşturabilen bir anahtar ve değer çiftini temsil eder.

Bu yöntem koleksiyonun bir görünümünü döndürür. Örneğin cityMap'i bir harita olarak düşünün. Geliştirici, Map.Entry öğesine sahip haritanın set görünümünü elde etmek için entrySet() işlevini kullanabilir. Programcı ayrıca haritanın anahtar ve değer çiftini elde etmek için Map.Entry'nin getKey() ve getValue() işlevlerini de kullanabilir.


65) Bir diziyi artan düzende sıralamak için hangi yöntem kullanılır?

Java toplama çerçevesi yönteminde, Collections.sort() bir diziyi artan düzende sıralamak için kullanılır.


66) ArrayList'in performansı nasıl ölçülür?

ArrayList'in performansı şu şekilde ölçülebilir:

  • Bir öğe ekleme: Geliştirici, add(E e) yöntemini kullanarak ArrayList'in sonuna bir öğe ekleyebilir. O(1)'dir. En kötü senaryoda O(n)'ye gidebilir. Geliştiricinin dizi kapasitesinden daha fazla öğe eklemesi durumunda bu durum meydana gelebilir.
  • Bir öğeyi alma: Geliştirici get(int index) komutunu kullanarak dizi indeksine erişebilir. Bu durumda performans ArrayList get() kullanılarak ölçülebilir: O(1).
  • Bir öğeyi kaldırmak: Geliştiricilerin, öğeyi kaldır(int indeksi) kullanarak kaldırması durumunda, ArrayList'in performansı, söz konusu kaldır(int indeksi) işlemi O(n – indeks) yöntemi kullanılarak hesaplanabilir.

67) LinkedList sınıfını açıklayın

LinkedList sınıfı Java Deque ve List'i çift yönlü bağlı bir liste kullanarak uygular. Çift yönlü bağlı bir listede yapısını sağlayan özel bir sınıf düğümü vardır. Ayrıca, değeri ve Node sınıfına referansı tutmak için bir item değişkeni vardır. Bu, sonraki ve önceki düğümleri bağlamak için kullanılabilir.


68) Hashmap'e bir örnek verin

Hashmap örneği:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

69) Harita nasıl yinelenir?

Geliştirici haritayı doğrudan yineleyemez, ancak bu arayüzün haritanın görünüm kümesini veren iki yöntemi vardır. Bu yöntemler şunlardır:

  • Ayarlamak >girişSet(): Haritada belirtilen girişleri içeren bir kümeyi döndüren bir yöntemdir. Bu girişlere genellikle Map tipinde itiraz edilir. Giriş.
  • Ayarlamak anahtar seti(): Bu Java yöntem, harita anahtarına sahip bir küme döndürür.

70) Ağaç Haritasını açıklayın Java

TreeMap, LinkedHashMap ve HashMap Harita arayüzünü uygulayan bir sınıftır. Ayrıca NavigableMap arayüzünü uygulayabilir ve AbstractMap sınıfını genişletebilir.


71) Hashmap ve Hashtable arasındaki fark nedir?

hashmap hashtable'a
Senkronize değil. Senkronize edilmiştir.
Hash Haritası bir anahtarın boş değer olarak kullanılmasına izin verir. HashTable boş değerlere izin vermez.
Yineleyici, HashMap'te geçiş yapmak için kullanılır. HashTable'da geçiş yapmak için Iterator veya Enumerator kullanılır.
Hem HashTable hem de HashMap için kullanılabilir ve hızlıdır. HashTable ile kullanılabilir ve arızalara karşı dayanıklıdır.
HashMap, HashTable'dan daha hızlı performans gösterir. Hashtable, HashMap'e kıyasla çok daha hızlı değil.

72) HashSet'in iç işleyişini açıklayın Java

HashSet'te Java öğeleri depolamak için dahili olarak HashMap'i kullanır. Ayrıca, yinelenen değerler olmadan benzersiz değerleri de saklayabilir.

In JavaHashSet geliştiricisi, parametre olarak eklenecek yalnızca öğeyi alan add(E e) yöntemine sahip olabilir. Anahtar ve değer çiftini kabul etmez.


73) Big-O notasyonunu bir örnekle açıklayın

Big-O gösterimi, bir algoritmanın performansını ArrayList'teki öğelerin sayısı olarak gösterir. Bir geliştirici, koleksiyon uygulamasını seçmek için Big-O gösterimini kullanabilir. Performansa, zamana ve belleğe dayanır.

Örneğin ArrayList get(index i) sabit zamanlı bir işlem gerçekleştirmeye yönelik bir yöntemdir. Listede mevcut olan toplam öğe sayısına bağlı değildir. Bu nedenle Big-O notasyonundaki performans O(1)'dir.


74) En iyi uygulamaları açıklayın Java Koleksiyon Çerçevesi

En iyi uygulamalar Java Koleksiyon Çerçevesi şunlardır:

  • İhtiyaca bağlı olarak doğru koleksiyon türünü seçin.
  • Koleksiyon sınıflarında depolanacak toplam öğe sayısını tahmin ederek yeniden düzenleme veya yeniden boyutlandırmadan kaçının.
  • Yaz Java arayüzler açısından program. Bu, geliştiricinin gelecekte uygulamasını zahmetsizce değiştirmesine yardımcı olacaktır.
  • Bir geliştirici, tür güvenliği için Generics'i kullanabilir.
  • Tarafından verilen değişmez sınıfları kullanın Java Geliştirme Kiti. Özel sınıflar için equals() ve hashCode() uygulamalarından kaçının.
  • Bir programcı, algoritmalar için veya salt okunur, senkronize veya boş koleksiyonlar almak için Collections yardımcı sınıfını kullanmalıdır. Bu, düşük sürdürülebilirlikle kodun yeniden kullanılabilirliğini artıracaktır.

75) Çeşitli kuyruk türlerini açıklayın Java

Üç tür kuyruk vardır Java:

  • Öncelik sırası: Öğelerin doğal sıralamalarına veya özel karşılaştırıcılarına göre sıralandığı özel bir Kuyruk türüdür.
  • Dairesel Sıra: FIFO yöntemine göre kullanıcı işlemlerinin gerçekleştirildiği kuyruk türüdür. Son eleman bir daire oluşturmak için ilk konuma bağlanır.
  • Double-sona eren Sıra: Çift uçlu kuyruk, bir kuyruğu genelleştiren soyut bir veri türüdür. Bu kuyruktaki öğeler hem baştan hem de kuyruktan eklenebilir veya kaldırılabilir.

76) Yığın ve Kuyruk arasındaki fark nedir?

Yığın Kuyruk
Stack'ın çalışma prensibi LIFO'dur. Kuyruğun çalışma prensibi FIFO'dur.
Bir uç, elemanların eklenmesini veya silinmesini gerçekleştirmek için kullanılır. Bir ucu ekleme işlemini gerçekleştirmek için kullanılırken, diğer ucu elemanların silinmesi için kullanılır.
Bir işaretçi kullanır. Basit bir kuyrukta iki işaretçi kullanır.
Herhangi bir çeşidi yoktur. Öncelikli kuyruk, dairesel kuyruk, çift uçlu kuyruk gibi çeşitleri bulunmaktadır.
Kullanımı kolaydır. Kullanımı kolay değil.

77) Dizi ve yığın arasındaki fark nedir?

Dizi ve yığın arasındaki fark şudur:

Dizi Yığın
Endeks tarafından tanımlanan öğelerin bir koleksiyonudur. Push ve pop işlemleri olarak hizmet veren bir toplama işlemidir.
Aynı veri türlerinin elemanlarına sahiptir. Farklı veri türleri öğelerine sahiptir.
Öğeler rastgele erişim işlemi kullanılarak diziye kaldırılabilir veya eklenebilir. LIFO işlemi kullanılarak öğeler kaldırılabilir veya bir yığına eklenebilir.

78) Iterator()'ı tanımlayın

Iterator(), Koleksiyonu yinelemek için yöntemler sağlayan bir arayüzdür. Yineleyici Numaralandırmanın yerini alabilir Java. Çağrıcının koleksiyondan öğeleri kaldırmasına izin verir. Yöntem, koleksiyonun öğelerini kullanarak ve yineleyici tasarım desenini uygulayarak geçiş için genel bir yol sağlar.


79) Bir liste üzerinde yineleme yapmanın çeşitli yolları nelerdir?

Java koleksiyon Çerçevesi programcısı bir liste üzerinde iki şekilde yineleme yapabilir: 1) Yineleyiciyi kullanarak ve 2) her biri için onu kullanarak döngü.


80) Yığının avantajları nelerdir?

Yığının avantajları şunlardır:

  • Bağlantılı liste ve dizide mümkün olmayan Son Giren İlk Çıkar (LIFO) yöntemiyle verileri yönetmenize yardımcı olur.
  • Bir işlev çağrıldığında, yerel değişkenler bir yığında saklanır ve geri döndürüldüğünde otomatik olarak yok edilir.
  • Bir değişken bu fonksiyonun dışında kullanılmadığında yığın kullanılır.
  • Belleğin nasıl tahsis edildiğini ve serbest bırakıldığını kontrol etmenizi sağlar.
  • Stack nesneyi otomatik olarak temizler.
  • Kolayca bozulmaz
  • Değişkenler yeniden boyutlandırılamaz.

Bu mülakat soruları aynı zamanda yaşamınızda da yardımcı olacaktır.