En İyi 80 Java Koleksiyonu Mülakat Soruları ve Cevapları

İşte daha taze ve deneyimli adayların hayallerindeki işe kavuşmaları için Java Koleksiyonları Mülakat Soruları.

1) Java'da çerçeve nedir?

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

2) Java'daki Koleksiyon çerçevesi nedir?

Collection Framework, nesneleri depolamak ve yönetmek için kullanılan bir sınıflar ve arabirimler grubudur. Vector, ArrayList, HashSet, Stack vb. gibi çeşitli sınıflar sağlar. Java Collection çerçevesi, Queue, Set, List vb. arabirimler için de kullanılabilir.

3) Koleksiyon Sınıfını 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ışmak için 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(), bir tamsayı karma kodu döndüren bir yöntemdir.

5) Java toplama çerçevesinde ArrayList ve Vector arasında ayrım yapın.

Dizi Listesi Vektör
ArrayList senkronize edilemez.Vektör senkronize edilebilir.
Eski bir sınıf değildir.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ığı için güvenli değil.Vektör iş parçacığı için güvenlidir.

6) Java'da ArrayList nedir?

ArrayList, ek öğeleri kendi içinde barındırmak için genişletilebilen ve öğeler kaldırıldığında daha küçük bir boyuta küçülebilen bir veri yapısıdır. Elemanların dinamik davranışını ele almada faydalı olan çok önemli bir veri yapısıdır.

7) Yineleyici ve ListIterator arasında ayrım yapın

Yineleyici ve ListIterator arasındaki fark şudur:

yineleyici Liste Yineleyici
Yineleyici, dizi öğelerini ileri yönde geçebilir.ListIterator, dizi öğelerini ileriye doğru olduğu kadar geriye doğru da hareket ettirebilir.
Kuyruk, Liste ve Küme'de kullanılabilir.Listede kullanılabilir.
Yalnızca kaldırma işlemini gerçekleştirebilir.Koleksiyonda gezinirken 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 numaralandırma
Yineleyici, hem eski öğeleri hem de eski olmayan öğeleri geçebilir.Numaralandırma yalnızca eski öğeler arasında geçiş yapabilir.
Yineleyici başarısız hızlıdır.Numaralandırma başarısız hızlı değildir.
Yineleyici, Numaralandırmaya kıyasla çok yavaştır.Numaralandırma, Yineleyici ile karşılaştırıldığında hızlıdır.
Yineleyici, koleksiyonu geçerken 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, Java'da kullanılan ve Kuyruğu genişletebilen bir arabirimdir. 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ş olmayı bekler. BlockingQueue boş öğeler içermemelidir. Bu Kuyruğun uygulanması iş parçacığı için güvenlidir.

BlockingQueue sözdizimi şöyledir: |_+_|

10) Geçersiz kılma eşittir() 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 dayalı olarak 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ı
Karşılaştırılabilir, Java'daki öğeleri sıralamak için CompareTo() yöntemini sağlar.Karşılaştırıcı, Java'daki öğeleri sıralamak için karşılaştırma() yöntemi sağlar.
Java.lang paketinde karşılaştırılabilir arayüz mevcuttur.Java'da karşılaştırıcı arayüzü mevcuttur. paketi kullanır.
Sıralama mantığı, nesnesini sıralayacağınız aynı sınıfta olmalıdır.Sıralama mantığı, nesnelerin farklı özelliklerine göre farklı sıralama yazmak için ayrı bir sınıfta olmalıdır.
Nesnelerini sıralamak istediğiniz sınıf, karşılaştırılabilir arabirimi uygulamalıdır.Nesnelerini sıralamak istediğiniz sınıfın bir karşılaştırıcı arabirim uygulamasına gerek yoktur.
Tek sıralama dizileri sağlar.Birden çok sıralama dizisi 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 sık sık uygulanır Calendar, Wrapper sınıfları, Date ve String'e göre.Üçü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 arabirimi uygular.Uygulanan tek Comparator sınıfları, Collator ve RuleBasedColator'dır.

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

Equals(), sayı nesnesinin, bağımsız değişken olarak iletilen nesneye eşit olup olmadığını doğrular.

equals() yönteminin sözdizimi şöyledir: |_+_|

Bu yöntem iki parametre alır 1) herhangi bir nesne, 2) dönüş değeri. Geçirilen argüman boş değilse ve aynı sayısal değere sahip benzer türde bir nesneyse true değerini döndürür.

Örnek:

public interface BlockingQueue extends Queue 

13) Jenerik koleksiyonun faydalarını listeleyin

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

  • Programcılar jenerik sınıf kullanıyorsa, typecasting gerektirmezler.
  • Tip açısından güvenlidir ve derleme sırasında kontrol edilebilir.
  • Derleme zamanı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 statik bir Arrays sınıfı yöntemidir. asList() yönteminin sözdizimi şöyledir: |_+_|

Java programcıları, söz dizimini kullanarak ArrayList'i List nesnesine dönüştürebilir: |_+_|

15) ArrayList'e örnek verin

Ters ArrayList Örneği: |__+_|

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

Bir diziyi azalan sırada sıralama örneği: |_+_|

17) Java koleksiyonları çerçevesinin temel arayüzlerini açıklayın

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

  • Ayarlamak: Küme, yinelenen öğeleri olmayan bir koleksiyondur. Öğeleri depolamak için hashtable 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ğerlere eşleyen bir nesnedir. Yinelenen anahtarlar içeremez. Her anahtar en az bir değere eşlenebilir.

18) Java Hashmap'in özellikleri nelerdir?

Java Hashmap'in özellikleri ş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şturacaktır.
  • HashMap yalnızca nesne referanslarını saklar. Bu nedenle double veya int gibi ilkel veri türlerini kullanmak imkansızdır. Bunun yerine sarmalayıcı sınıfını (Integer veya Double gibi) kullanın.

19) Yığın nedir?

Yığın, bir işlev tarafından oluşturulan geçici değişkenleri depolayan özel bir bilgisayar belleği 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 öğe koleksiyonunu depolayabilen bir veri yapısıdır. Başka bir deyişle, bağlantılı listeler aynı türden birkaç nesneyi depolamak için kullanılabilir. Listenin her birimi veya elemanı 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. Bu bir zincir gibidir. Bağlantılı Listeler, grafikler ve ağaçlar oluşturmak için kullanılır.

21) ArrayList'e örnek verin

ArrayList örneği: |__+_|

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

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

  • Tek Bağlantılı liste: Tek Bağlantılı liste, bir tür veri yapısıdır. Tek bağlantılı bir listede, listedeki her düğüm, düğümün içeriğini ve listedeki bir sonraki düğüme bir referans veya işaretçiyi depolar. Ö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 bir sonraki düğüme bağlanan ve diğeri önceki düğüme bağlanan iki bağlantı bulunmasıyla mümkün olur.

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

Java Queue arabiriminin yöntemleri şunlardır:

Yöntem Açıklama
boolean ekleme(nesne)Belirtilen öğeyi Kuyruğa ekler. Başarılı olması durumunda true döndürür.
boole teklifi(nesne)Bu yöntem, öğeyi Kuyruğa eklemek için kullanılır.
Nesne kaldır()Kuyruk kafasını alır ve kaldırır.
Nesne anketi() (): Kuyruk başını alır ve kaldırır veya boş olması durumunda null değerini döndürür.
Nesne anketi()Kuyruk başını alır ve kaldırır veya boş olması durumunda null değerini döndürür.
Nesne öğesi()Kuyruktan verileri alır, ancak başını kaldırmaz.
Nesne bakış()Kuyruktan verileri alır ancak başını kaldırmaz veya Kuyruk boş ise boş alır.

24) Stack sınıfı tarafından sağlanan yöntemlerden bahsedin

Stack sınıfı tarafından sağlanan ö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.
  • arama (): Bu yöntem yığındaki öğeleri arar.
  • dikizlemek (): Bu Java yöntemi, yığın nesnesine onu kaldırmadan bakar.

25) Java koleksiyonları çerçevesinde emptySet()'i tanımlayın

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

genel statik final Set emptySet()

26) Koleksiyon ve Koleksiyonları birbirinden ayırın

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

ToplamakKoleksiyonlar
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ı yöntemler tanımlar.
Koleksiyon, Java Koleksiyon çerçevesinin kök arabirimidir.Koleksiyonlar genel bir yardımcı sınıftır.
Bu arayüz, toplama veri yapılarını türetmek için kullanılır.Bu sınıf, veri yapısını işlemek için statik yöntemler içerir.

27) Java Collection çerçevesinde LinkedHashSet tanımlansın mı?

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

28) Failfast ve failsafe arasındaki fark nedir?

hatasız arıza güvenliği
Yineleme sırasında koleksiyon değişikliğine izin vermez.Yineleme sırasında koleksiyon değişikliğine izin verir.
ConcurrentModificationException'ı atabilirHerhangi bir istisna atamaz.
Öğeleri geçmek için orijinal koleksiyonu kullanır.Öğeleri geçmek için orijinal bir koleksiyon kopyası kullanır.
Ekstra bellek gereksinimi yoktur.Ekstra bellek 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) Java'da Collection Framework'ün faydaları nelerdir?

Java'da Collection Framework'ün faydaları ş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.
  • Java toplama çerçevesi ile geliştirilen programın bakımı kolaydır.
  • Bir geliştirici, kodun yeniden kullanılabilirliğini artıracak şekilde sınıfları diğer türlerle karıştırabilir.
  • Java toplama çerçevesi, programcıların ilkel koleksiyon türlerini istedikleri şekilde değiştirmelerini sağlar.

31) Java'da Collection nesnelerini sıralamanın iyi bir yolu nedir?

Java toplama nesnelerini sıralamanın iyi bir yolu, Karşılaştırılabilir ve Karşılaştırıcı arabirimlerini kullanmaktır. Bir geliştirici Collections.sort()'u kullanabilir, öğeler karşılaştırma To()'da belirtilen sıraya göre sıralanır.

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

32) Java'da Vektörü Açıklayın

Vektör bir dizi ile 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) Set ve Harita arasındaki fark nedir?

Ayarlamak Harita
Set, paket-java.util'e aittir.Harita, Java.util paketine aittir.
Koleksiyon arayüzünü genişletebilir.Koleksiyon arayüzünü genişletmez.
Yinelenen değerlere izin vermez.Yinelenen değerlere izin verir.
Küme yalnızca bir boş değer sıralayabilir.Harita birden çok boş değeri sıralayabilir.

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

Dictionary sınıfı, anahtar/değer çiftlerini saklama yeteneğine sahip bir Java sınıfıdır.

35) EnumSet'i Tanımla

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

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

ArrayList'ten kopyaları kaldırmanın iki yolu:

  • HashSet: Geliştirici, yinelenen öğeyi ArrayList'ten kaldırmak için HashSet'i kullanabilir. Dezavantajı, ekleme sırasını koruyamamasıdır.
  • LinkedHashSet: Geliştiriciler, HashSet yerine LinkedHashSet kullanarak ekleme sırasını da koruyabilir.

37) IdentityHashMap nedir?

IdentityHashMap, Serileştirilebilir, Clonable arabirimleri, Map uygulayan ve AbstractMap sınıfını genişleten bir sınıftır. Referans eşitliği semantiğine ihtiyaç duyulan durumlar için tasarlanmıştır.

38) WeakHashMap nedir?

WeakHashMap, Java Haritasının bir uygulamasıdır. Anahtarlarına zayıf referansları saklamak için kullanılır. Bu Haritayı kullanarak sıralama, bir anahtar/değer çiftinin çöp olarak toplanmasına izin verir. Anahtarına WeakHashMap dışında başvurulmaz.

39) Koleksiyonu iş parçacığı için güvenli hale getirme yöntemleri nelerdir?

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

  • Collections.synchroizedList(liste);
  • Collections.synchronizedMap(harita);
  • Collections.synchroizedSet(set);

40) UnsupportedOperationException'ı açıklayın

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

Örneğin, Geliştirici 'Collections.unmodifiedList(list)' kullanarak salt okunur bir liste yapıyor ve call(), add() veya remove() yöntemini çağırıyor. UnsupportedOperationException'ı açıkça atmalıdır.

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) Kuyruk ve Deque arasındaki farkı açıklayın.

Sıra Hakkında
Tek uçlu Kuyruk denirBuna çift uçlu Kuyruk denir
Kuyruktaki öğeler bir uçtan eklenir veya kaldırılırKuyruktaki öğeler her iki uçtan eklenir ve her iki uçtan da eklenebilir ve kaldırılabilir
Daha az çok yönlüdür.Daha çok yönlüdür.

43) Uygulanan List ve Set arayüzünden bahsedin

Liste arabirimini uygulayan sınıf: 1) ArrayList, 2) Vektör ve 3) LinkedList.

Set arabirimini uygulayan sınıf: 1) HashSet ve 2) TreeSet.

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

Yineleyici, yineleyici tasarım modelinin 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 arabiriminin peek() işlevi nedir?

Peek (), bir kuyruk arabirimi yöntemidir. Tüm öğeleri alır ancak kuyruk başlığını kaldırmaz. Kuyruk boşsa, bu yöntem null değerini döndürür.

46) CopyOnWriteArrayList nedir?

CopyOnWriteArrayList, dizinin bir kopyasını oluşturarak ekleme ve ayarlama gibi işlemlerin uygulandığı ArrayList'in bir türevidir. İş parçacığı için güvenlidir ve bu nedenle ConcurrentModificationException'ı oluşturmaz. Bu ArrayLists, null dahil tüm öğelere izin verir.

47) ArrayList ve LinkedList arasında ayrım yapın

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.Manipülasyon için LinkedList tercih edilir.
ArrayList rastgele erişim sağlar.LinkedList rastgele erişim sağlamaz.
ArrayList s yalnızca nesneleri depolar, bu nedenle daha az bellek yükü alırLinkedList, adres nesnesinin yanı sıra nesneyi de depolar; bu nedenle, daha fazla bellek yükü alır.

48) Yineleyici arabirim yöntemlerini açıklayın

Yineleyici arabiriminin yöntemleri şunlardır:

Yöntem Açıklama
genel boolean hasNext()Öğelere sahip yineleyicide true değerini döndürür; aksi halde false döndürür.
public Object sonraki()Bu yöntem, öğeyi döndürür ve işaretçiyi bir sonraki değere taşır.
genel boşluk kaldır()Bu Java yöntemi, 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 yöntemleri nelerdir?

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

yöntemler Açıklama
boolean add(Nesne o) Bu yöntem, zaten mevcut değilse, söz öğesini bu kümeye ekler.
boolean içerir(Nesne o): Küme belirtilen öğeyi içeriyorsa true değerini döndürür.
void clear(): Bu yöntem, küme öğelerini kaldırır.
boolean isEmpty(): Bu durumda true değerini döndürür, kümenin elemanı yoktur.
boolean kaldır(Nesne o): Belirtilen elemanı kümeden kaldırır.
nesne klonu(): Bu yöntem, HashSet örneğinin bir kopyasını döndürür: öğelerin kendileri klonlanmaz.
yineleyici yineleyici() Bu kümedeki öğeler üzerinde bir yineleyici döndürür.
int boyut(): Kümedeki mevcut eleman sayısını döndürür.

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

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

yöntemler Açıklamalar
boolean addAll(Koleksiyon c)Belirtilen koleksiyondaki tüm öğeleri bu kümeye ekleyin.
boolean içerir(Nesne o)Küme, söz öğesini içeriyorsa true değerini döndürür.
boole değeriBoş()Bu küme hiçbir öğe içermiyorsa, bu Java yöntemi true değerini döndürür.
boolean kaldır(Nesne o)Belirtilen öğeyi kümeden çıkarın.
geçersiz ekleme(nesne o)Belirtilen öğeyi kümeye ekler.
void clear()Bu Java yöntemi, tüm öğeleri kümeden kaldırır.

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

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

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

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

Yöntem Açıklama
boolean add( 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ı başa eklemek için kullanılır.
void addLast(Object o)Verilen elemanı sonuna eklemek için kullanılır.
Int boyutu()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öntemi, söz konusu öğenin bu listede ilk kez geçtiği dizini veya -1'i döndürür.
int lastIndexOf(Nesne öğesi)Bu listede belirtilen öğenin en son geçtiği dizini veya -1'i döndüren bir Java yöntemidir.

53) Kümelerde bulunan çeşitli sınıfları listeleyin

Kümelerde bulunan çeşitli sınıflar şunlardır: HashSet, TreeSetand ve LinkedHashSet.

54) Java Queue arayüzünde bulunan yöntemleri listeleyin

  • boolean ekleme(nesne)
  • boole teklifi(nesne)
  • nesne kaldır()
  • nesne anketi()
  • nesne öğesi()
  • nesne bakış()

55) Liste ve Küme arasında ayrım yapın.

Liste Ayarlamak
Sıralı bir eleman koleksiyonuSırasız elemanlar topluluğu
Kampanya siparişini korurKampanya siparişini korumaz
Yinelenen değerlere izin verilirYinelenen değerlere izin verilmez
Herhangi bir sayıda boş değer saklanabilirYalnızca bir boş değer saklanabilir
ListIterator, Listeyi herhangi bir yönde hareket ettirmek için kullanılabilirListIterator, bir Kümeyi geçmek için kullanılamaz
Vector adlı eski bir sınıf içerirHerhangi bir eski sınıf içermiyor

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

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

Her döngü için örnek: |_+_|

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'de geliştirici, parametrelenmiş oluşturucuyu elmas operatörü olarak bilinen boş bir parametre seti () ile değiştirebilir.

58) Randomaccess arayüzünü açıklayın

RandomAccess arabirimi, List uygulamaları tarafından hızlı desteklediklerini göstermek için kullanılır.

59) Rastgele erişim arabirimini uygulayan koleksiyon sınıflarını adlandırın

Java.util paketi rastgele erişim arabirimini uygulayabilen sınıflara sahiptir: CopyOnWriteArrayList, Stack, ArrayList ve Vector.

60) Birden çok ArrayList'e nasıl katılınır?

Liste, Java'da bir addall() yöntemi çoklu ArrayList sağlar.

Örneğin, 1) areaList ve 2) secondAreaList olmak üzere iki liste düşünün. Bir geliştirici, aşağıdaki gibi addall() kullanarak onlara katılabilir:

areaList.addAll (ikinciAreaList);

61) Arayüz hakkında açıklama yapın

Java.util.Deque, Queue arabirimini genişleten bir arabirim olan Java'dır. Her iki uçta da öğelerin eklenmesi ve silinmesi için destek sağlar. Bu Kuyruğa çift uçlu kuyruk da denir.

62) Linkedhashmap'i açıklayın

LinkedHashMap, Harita arayüzünün uygulamasıdır. HashMap sınıfını da genişletebilir. Bu nedenle, HashMap gibi LinkedHashMap, Java geliştiricilerinin bir boş anahtara ve birden fazla boş değere izin vermesini sağlar.

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)Bu ArrayList 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 filtresi)Bu yöntem, bir yüklemin sözünü karşılayan öğeleri kaldırır.

64) Haritayı açıklar. Haritada giriş

Map.entry, java.util'in bir Java arayüzüdür. Haritada iç içe bir arayüze sahiptir. Bu arabirim, üyesi olduğu sınıf veya arabirim adıyla nitelenmelidir. Bu nedenle Harita olarak nitelendirilmiştir. giriş. Bir Harita öğ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 inputSet()'i kullanabilir. Programcı ayrıca haritanın anahtar ve değerini almak için Map.Entry öğesinin getKey() ve getValue() öğesini kullanabilir.

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

Java toplama çerçevesi yöntemi, 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 eleman eklemek: Geliştirici, add(E e) yöntemini kullanarak ArrayList'in sonuna bir öğe ekleyebilir. O(1)'dir. En kötü senaryoda, O(n) değerine gidebilir. Geliştirici, dizi kapasitesinden daha fazla öğe eklerse bu olabilir.
  • Bir öğeyi alma : - Geliştirici, dizi dizinine get(int dizini) kullanarak erişebilir. Bu durumda performans, ArrayList get() kullanılarak ölçülebilir ve O(1)'dir.
  • Bir öğeyi kaldırma: Geliştiricilerin kaldır(int dizini) kullanarak öğeyi kaldırmaları durumunda, söz konusu kaldır(int dizin) işlemi kullanılarak ArrayList'in performansı hesaplanabilir, O(n - dizin) yöntemidir.

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

Java'daki LinkedList sınıfı, çift bağlantılı bir liste kullanarak Deque ve List'i uygular. Çift bağlantı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şkenine sahiptir. Bu, sonraki ve önceki düğümleri bağlamak için kullanılabilir.

68) Hashmap'e bir örnek verin

Hashmap örneği: |_+_|

69) Harita nasıl yinelenir?

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

  • AyarlamakgirişSet(): Haritada belirtilen girişlere sahip bir küme döndüren bir yöntemdir. Bu girişler genellikle Harita türünden itiraz edilir. giriş.
  • SetkeySet(): Bu Java yöntemi, harita anahtarına sahip bir küme döndürür.

70) Java'da Treemap'i açıklayın

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

71) Hashmap ve Hashtable arasındaki fark nedir?

Hashmap Hashtable
Senkronize değil.Senkronize edilir.
HashMap, bir anahtarın boş değer olarak kullanılmasına izin verir.HashTable boş değerlere izin vermez.
Yineleyici, HashMap'i geçmek için kullanılır.Bir HashTable'ı geçmek için Yineleyici veya Numaralandırıcı kullanılır.
Hem HashTable hem de HashMap için kullanılabilir ve hızlıdır.HashTable ile kullanılabilir ve arızaya karşı güvenlidir.
HashMap, HashTable'dan daha hızlı çalışır.Hashtable, HashMap'e kıyasla çok daha hızlı değildir.

72) Java'da HashSet'in dahili çalışmasını açıklayın

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

Java'da HashSet geliştiricisi, parametre olarak eklenecek öğeyi alan add(E e) yöntemine sahip olabilir. Anahtar ve değer çiftini kabul etmez.

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

Big-O notasyonu, 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ştirme yöntemidir. Listede bulunan toplam öğe sayısına bağlı değildir. Bu nedenle, Big-O notasyonundaki performans O(1)'dir.

74) Java Koleksiyon Çerçevesindeki en iyi uygulamaları açıklayın

Java Collection Framework'teki en iyi uygulamalar şunlardır:

  • İhtiyaca göre 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.
  • Arayüzler açısından bir Java programı yazın. 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.
  • Java Development Kit tarafından verilen değişmez sınıfları kullanın. Özel sınıflar için equals() ve hashCode() uygulamasından kaçının.
  • Bir programcı, algoritmalar için veya salt okunur, senkronize veya boş koleksiyonlar almak için Koleksiyonlar yardımcı program sınıfını kullanmalıdır. Bu, düşük bakım kolaylığı ile kodun yeniden kullanılabilirliğini artıracaktır.

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

Java'da üç tür kuyruk vardır:

  • Öncelik sırası: Öğelerin doğal sıralarına veya özel karşılaştırıcılarına göre sıralandığı özel bir Kuyruk türüdür.
  • Dairesel Sıra: Kullanıcı işlemlerinin FIFO yöntemine göre gerçekleştirildiği bir Kuyruk türüdür. Bir daire oluşturmak için son eleman ilk konuma bağlanır.
  • Çift Uçlu Kuyruk: Çift uçlu bir kuyruk, bir kuyruğu genelleştiren soyut bir veri türüdür. Bu kuyruktaki elemanlar, baş veya kuyruktan eklenebilir veya çıkarılabilir.

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

Yığın Sıra
Yığının çalışma prensibi LIFO'dur.Kuyruğun çalışma prensibi FIFO'dur.
Bir uç, öğelerin eklenmesi veya silinmesi için kullanılır.Bir uç ekleme yapmak için kullanılır ve diğer uç 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 varyantı yoktur.Öncelik sırası, dairesel Kuyruk, çift uçlu Kuyruk gibi varyantları vardı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
Dizin tarafından tanımlanan bir öğeler topluluğudur.Push ve pop işlemleri olarak hizmet veren bir toplama işlemidir.
Aynı olan veri türleri öğelerine sahiptir.Farklı veri türleri öğelerine sahiptir.
Öğeler, rastgele erişim işlemi kullanılarak diziye çıkarılabilir veya eklenebilir.Öğeler, LIFO işlemi kullanılarak kaldırılabilir veya bir yığına eklenebilir.

78) Yineleyiciyi Tanımla()

Iterator(), Koleksiyonu yinelemek için yöntemler sağlayan bir arabirimdir. Yineleyici, Java'da Numaralandırmanın yerini alabilir. Arayanı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 koleksiyonu Framework programcısı, bir liste üzerinde iki şekilde yinelenebilir: 1) Yineleyici kullanarak ve 2) her döngü için onu kullanarak.

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

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

  • Bağlantılı liste ve dizi ile mümkün olmayan Son Giren İlk Çıkar (LIFO) yöntemindeki verileri yönetmenize yardımcı olur.
  • Bir işlev çağrıldığında, yerel değişkenler bir yığında depolanır ve döndürüldüğünde otomatik olarak yok edilir.
  • Bir değişken bu işlevin dışında kullanılmadığında bir yığın kullanılır.
  • Belleğin nasıl ayrılacağını ve ayrılacağını kontrol etmenizi sağlar.
  • Yığın nesneyi otomatik olarak temizler.
  • Kolayca bozulmaz
  • Değişkenler yeniden boyutlandırılamaz.