İşte hem yeni hem de deneyimli adaylar için hayallerindeki işi bulmaları 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?
Koleksiyon Çerçevesi, 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 framework, Queue, Set, List vb. Arayüzler için de kullanılabilir.
3) Koleksiyonlar 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 koleksiyonu ç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ğil. | Eski bir sınıftı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. | Vektör iş parçacığı açısından güvenlidir. |
6) Java'da ArrayList nedir?
ArrayList, kendi içindeki ek öğeleri barındırmak ve öğeler kaldırıldığında daha küçük bir boyuta küçülmek için genişletilebilen bir veri yapısıdır. Elemanların dinamik davranışlarının ele alınmasında yararlı olan çok önemli bir veri yapısıdır.
7) Yineleyici ve ListIterator arasında ayrım yapın
Iterator ve ListIterator arasındaki fark şudur:
Yineleyici | ListIterator |
Yineleyici, dizi öğelerini ileri yönde hareket ettirebilir. | ListIterator, dizi öğelerini hem ileri hem de geri yönde gezebilir. |
Queue, List ve Set'te kullanılabilir. | Listede kullanılabilir. |
Yalnızca kaldırma işlemi gerçekleştirebilir. | Koleksiyonu dolaşırken ekleme, kaldırma ve ayarlama işlemi gerçekleştirebilir. |
8) Yineleyici ve Numaralandırma arasındaki fark nedir?
Yineleyici ve Numaralandırma arasındaki fark
Yineleyici | Numaralandırma |
Yineleyici, hem mirası hem de eski olmayan öğeleri gezebilir. | 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, Yineleyiciye kıyasla hızlıdır. |
Yineleyici, koleksiyonu 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, 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 öğe alınırken boş kalmayı bekler. BlockingQueue, boş öğeler içermemelidir. Bu Kuyruğun uygulanması iş parçacığı açısından güvenlidir.
BlockingQueue'nun sözdizimi şöyledir:
public interface BlockingQueueextends Queue
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 özelliğe göre bir nesneyi kontrol etmek istemesi durumunda, o nesnenin 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 şudur:
Kıyaslanabilir | Karşılaştırıcı |
Comparable, Java'daki öğeleri sıralamak için CompareTo () yöntemi sağlar. | Comparator, Java'daki öğeleri sıralamak için karşılaştırma () yöntemi sağlar. |
Karşılaştırılabilir arayüz java.lang paketinde mevcuttur. | Karşılaştırıcı arayüzü javada mevcuttur. kullanım paketi. |
Sıralama mantığı, nesnesini sıralayacağınız aynı sınıfta olmalıdır. | Nesnelerin farklı özelliklerine göre farklı sıralama yazmak için sıralama mantığı 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ı gerekmez. |
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ık sık 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 arabirimi uygular. | Comparator'ın uygulanan tek sınıfları Collator ve RuleBasedColator'dır. |
12) Eşittir () örnekle açıklayın
Equals (), number 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. Aktarılan bağımsız değişken boş değilse ve aynı sayısal değere sahip benzer türde bir nesne ise true döndürür.
Misal:
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 toplamanın faydalarını listeleyin
Genel koleksiyonu kullanmanın faydaları şunlardır:
- Programcılar jenerik sınıf kullanıyorlarsa, tip dökümüne 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ı, sözdizimini kullanarak ArrayList'i List nesnesine dönüştürebilir:
List_object.toArray(new String[List_object.size()])
15) ArrayList örneği verin
Ters ArrayList Örneği:
import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayListarlTest = new ArrayList ();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.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 dscending düzende sıralamak için örnek verin
Bir diziyi azalan düzende sıralama örneği şudur:
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 sortSystem.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) Java koleksiyon çerçevesinin temel arayüzlerini açıklayın
Java toplama çerçevesi, koleksiyon hiyerarşisinin bir köküdür. Öğeleri olarak bir nesne grubunu temsil eder. Java programlama dili, bu tür bir arayüzün doğrudan uygulanmasını sağlamaz.
- Set: Set, yinelenen öğeler içermeyen 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.
- MAP: Anahtarları değerlerle eşleştiren 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şturur.
- HashMap yalnızca nesne referanslarını depolar. Bu nedenle double veya int gibi ilkel veri türlerini kullanmak imkansızdır. Bunun yerine sarmalayıcı sınıfını (Tamsayı veya Çift gibi) kullanın.
19) Yığın nedir?
Yığın, bir işlev tarafından oluşturulan geçici değişkenleri depolayan bilgisayar belleğinin özel bir alanıdır. Yığın içinde değişkenler çalışma zamanı sırasında bildirilir, depolanı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 öğesi bir düğüm olarak adlandırılır. Bağlantılı listedeki bir düğüm kendi verilerine ve sonraki düğümün adresine sahiptir. Zincir gibidir. Bağlı Listeler, grafikler ve ağaçlar oluşturmak için kullanılır.
21) ArrayList örneği verin
ArrayList örneği şudur:
import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayListarlTest = new ArrayList ();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.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) 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şına Bağlantılı liste, bir tür veri yapısıdır. Tekil bağlantılı bir listede, listedeki her bir düğüm, düğümün içeriğini ve listedeki bir sonraki düğüme bir referans veya işaretçi depolar. Önceki düğüme herhangi bir referans veya işaretçi kaydetmez.
- Ç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 bağlanan ve diğeri önceki düğüme bağlanan iki bağlantıya sahip olarak mümkün olur.
23) Kuyruk arabirimi tarafından sağlanan yöntemleri açıklayın.
Java Queue arabiriminin yöntemleri şunlardır:
Yöntem | Açıklama |
boolean ekleme (nesne) | Kuyruğa belirtilen öğeyi ekler. Başarılı olması durumunda doğruya döner. |
boole teklifi (nesne) | Bu yöntem, öğeyi Kuyruğa eklemek için kullanılır. |
Nesne kaldır () | Kuyruk başlığını alır ve kaldırır. |
Nesne anketi () | (): Kuyruk başlığını alır ve kaldırır veya boş olması durumunda null döndürür. |
Nesne anketi () | Kuyruk başlığını alır ve kaldırır veya boş olması durumunda null döndürür. |
Nesne öğesi () | Verileri Kuyruktan alır, ancak başını kaldırmaz. |
Nesne gözetleme () | Verileri Kuyruktan alır ancak başını kaldırmaz veya Kuyruk, Kuyruk boşsa, 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:
- push (): Öğeyi yığının içine itin.
- empty (): 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.
- search (): Bu yöntem, yığındaki öğeleri arar.
- peek (): Bu Java yöntemi, yığın nesnesini kaldırmadan bakar.
25) Java koleksiyonları çerçevesinde emptySet () tanımlayın
Programcılar null öğeleri kaldırmaya çalıştıklarında boş sabit kümeyi döndüren boşSet () yöntemi. EmptySet () tarafından döndürülen küme serileştirilebilir. Bu yöntemin sözdizimi şöyledir:
public static final
26) Koleksiyon ve Koleksiyonlar arasında ayrım yapın
Koleksiyon ve Koleksiyonlar arasındaki fark:
Toplamak | Koleksiyonlar |
Koleksiyon bir arayüzdür. | Koleksiyonlar bir sınıftır. |
Tek bir varlık olarak bir nesne grubunu temsil eder. | Koleksiyon nesneleri için çeşitli fayda yöntemlerini tanımlar. |
Koleksiyon, Java Koleksiyonu çerçevesinin kök arabirimidir. | Koleksiyonlar, genel bir yardımcı sınıftır. |
Bu arayüz, veri toplama 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) LinkedHashSet'i Java Koleksiyonu çerçevesinde tanımlayın.
LinkedHashSet, HashSet adlı sınıfın bir alt sınıfıdır ve set arayüzünü uygular. HashSet'in iyi düzenlenmiş bir sürümüdür ve tüm unsurları arasında çift bağlantılı bir Liste tutar.
28) failfast ve failafe arasındaki fark nedir?
Başarısız | Güvenli |
Yineleme sırasında koleksiyon değişikliğine izin vermez. | Yineleme sırasında koleksiyon değişikliğine izin verir. |
ConcurrentModificationException oluşturabilir | Herhangi bir istisna yaratamaz. |
Öğeleri dolaşmak için orijinal koleksiyonu kullanır. | Öğeleri dolaşmak için orijinal bir koleksiyon kopyası kullanır. |
Ekstra belleğe gerek 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 son derece verimli ve etkili veri yapıları sunar.
- Java toplama çerçevesi ile geliştirilen programın bakımı kolaydır.
- Bir geliştirici, sınıfları diğer türlerle karıştırarak kodun yeniden kullanılabilirliğini artırabilir.
- Java toplama çerçevesi, programcıların ilkel koleksiyon türlerini istedikleri gibi değiştirmelerine olanak tanır.
31) Java'da Koleksiyon nesnelerini sıralamak için iyi bir yol nedir?
Java koleksiyonu nesnelerini sıralamanın iyi bir yolu, Karşılaştırılabilir ve Karşılaştırıcı arayüzlerini kullanmaktır. Bir geliştirici Collections.sort () kullanabilir; öğeler, ComparTo () öğesinde 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 () yöntemine 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öntemi içerebilir.
33) Set ve Map arasındaki fark nedir?
Ayarlamak | 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 ç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ımlayın
java.util.EnumSet, enum türleriyle kullanılabilen Set uygulamasıdır. Tüm öğeleri içeren EnumSet, açıkça veya örtük olarak belirtilen bir enum türünden gelmelidir. Senkronize edilmez ve null anahtarlara da izin verilmez. EnumSet, EnumSetof (önce E, E
… Rest), completeOf (EnumSet s) ve copyOf (Collection c).36) Yinelenenleri ArrayList'ten kaldırmanın iki yolu nedir?
Yinelenenleri ArrayList'ten kaldırmanın iki yolu şunlardır:
- HashSet: Geliştirici, yinelenen öğeyi ArrayList'ten kaldırmak için HashSet kullanabilir. Dezavantajı, ekleme siparişini koruyamamasıdır.
- LinkedHashSet: Geliştiriciler ayrıca HashSet yerine LinkedHashSet kullanarak ekleme sırasını koruyabilirler.
37) IdentityHashMap nedir?
IdentityHashMap, Serializable, Clonable arabirimleri, Map uygulayan ve AbstractMap sınıfını genişleten bir sınıftır. Referans eşitliği anlambilimine ihtiyaç duyulan durum için tasarlanmıştır.
38) WeakHashMap nedir?
WeakHashMap, Java Haritasının bir uygulamasıdır. Anahtarlarına zayıf referanslar depolamak için kullanılır. Bu Harita kullanılarak sıralama, bir anahtar / değer çiftinin çöp olarak toplanmasına izin verir. WeakHashMap dışında anahtarına başvurulmaz.
39) Koleksiyon iş parçacığını güvenli hale getirmenin yöntemleri nelerdir?
Koleksiyon iş parçacığını güvenli hale getirme yöntemleri şunlardır:
- Collections.synchronizedList (liste);
- Collections.synchronizedMap (harita);
- Collections.synchronizedSet (set);
40) Desteklenmeyen Operasyon İstisnasını Açıklayın
UnsupportedOperationException, 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 UnsupportedOperationException oluşturmalıdır.
41) Elemanlarına rastgele eleman 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 | Deque |
Tek uçlu Kuyruk denir | Çift uçlu Kuyruk denir |
Kuyruktaki öğeler bir uçtan eklenir veya kaldırılır | Kuyruktaki öğ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) Uygulama Listesi ve Ayarlama arayüzünden bahsedin
Sınıf uygulama List arabirimi: 1) ArrayList, 2) Vector ve 3) LinkedList.
Set arabirimini uygulayan sınıf: 1) HashSet ve 2) TreeSet.
44) Tasarım modelini ve ardından Yineleyiciyi açıklayın
Yineleyici, yineleyici tasarım modelinin ayrıntılarını takip eder. Geliştiricinin, uygulanmasını bilmeden ortak bir arayüz kullanarak nesne koleksiyonları arasında gezinmesini sağlar.
45) Kuyruk arayüzünün gözetimi () nedir?
Peek () bir kuyruk arabirimi yöntemidir. Tüm öğeleri alır ancak kuyruk başlığını kaldırmaz. Kuyruğun boş olması durumunda, bu yöntem null döndürür.
46) CopyOnWriteArrayList nedir?
CopyOnWriteArrayList, dizinin bir kopyasını oluşturarak add ve set gibi işlemlerin uygulandığı bir ArrayList varyantıdır. İş parçacığı açısından güvenlidir ve bu nedenle ConcurrentModificationException oluşturmaz. Bu Dizi Listeleri, 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. | LinkedList, manipülasyon için tercih edilir. |
ArrayList rastgele erişim sağlar. | LinkedList rastgele erişim sağlamaz. |
ArrayList s yalnızca nesneleri depolar, bu nedenle bellek ek yükünü azaltır. | LinkedList, hem nesneyi hem de adres nesnesini depolar; bu nedenle, daha fazla bellek yükü gerektirir. |
48) Yineleyici arayüz yöntemlerini açıklayın
Yineleyici arayüz yöntemleri şunlardır:
Yöntem | Açıklama |
genel boole hasNext () | Yineleyici öğelerinde true döndürür; aksi takdirde yanlış döndürür. |
genel Nesne sonraki () | Bu yöntem, öğeyi döndürür ve işaretçiyi bir sonraki değere taşır. |
public void remove () | Bu Java yöntemi, yineleyici tarafından döndürülen son öğeleri kaldırabilir. Genel 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 ekleme (Nesne o) | Bu yöntem, halihazırda mevcut değilse, bahsedilen öğeyi bu kümeye ekler. |
boole, (Object o) içerir: | Küme belirtilen öğeyi içeriyorsa true döndürür. |
void clear (): | Bu yöntem, ayarlanan öğeleri kaldırır. |
boolean isEmpty (): | Bu durumda true döndürür, setin hiç elemanı yoktur. |
boole kaldır (Object o): | Setten belirtilen elemanı 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 size (): | Sette bulunan elemanların 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 (Object o) | Küme, bahsetme öğesini içeriyorsa doğru döndürür. |
boolean isEmpty () | Bu küme hiçbir öğe içermiyorsa, bu Java yöntemi true değerini döndürür. |
boole kaldır (Object o) | Setten belirtilen öğeyi kaldırın. |
geçersiz ekle (Nesne o) | Sete belirtilen elemanı ekler. |
void temizle () | Bu Java yöntemi, kümedeki tüm öğeleri 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ı bir liste ve Hash tablosu uygulamasıdır. HashSet ile aynı benzersiz öğeler içerir. Java'daki bağlantılı HashSet ayrıca ekleme sırasını koruyabilen isteğe bağlı set işlemleri 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 ekleme (Nesne o) | Belirtilen elemanı vektörün sonuna eklemek için kullanılır. |
boolean içerir (Object o) | Bu liste belirtilen öğeyi içeriyorsa true döndüren bir yöntemdir. |
void add (int dizin, Nesne öğesi) | Öğeyi, vektörde belirtilen öğeye ekler. |
void addFirst (Nesne o) | Verilen elemanı başlangıca eklemek için kullanılır. |
void addLast (Nesne o) | Verilen öğeyi sona eklemek için kullanılır. |
İç boyut () | Bu yöntem, bir listedeki toplam öğe sayısını döndürmek için kullanılabilir. |
boole kaldır (Object o) | Belirtilen elemanın ilk oluşumunu bu listeden kaldırabilir. |
int indexOf (Nesne öğesi) | Bu Java yöntemi, bu listedeki bahsedilen öğenin ilk geçtiği dizini veya -1'i döndürür. |
int lastIndexOf (Nesne öğesi) | Bu listedeki belirtilen elemanın son oluşumuyla veya -1 ile indeksi döndüren bir Java yöntemidir. |
53) Setlerde bulunan çeşitli sınıfları listeleyin
Setlerde 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 gözetleme ()
55) Liste ve Küme arasında ayrım yapın.
Liste | Ayarlamak |
Sıralı bir öğe koleksiyonu | Sırasız eleman koleksiyonu |
Kampanya siparişini korur | Kampanya 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 ilerletmek için kullanılabilir | ListIterator, bir Sette gezinmek için kullanılamaz |
Vector adlı eski bir sınıf içerir | Herhangi bir eski sınıf içermiyor |
56) Her döngü için örnekle açıklayın
For-Each Loop, dizide gezinmek için kullanılan başka bir for döngüsü biçimidir. Kodu önemli ölçüde azaltır ve döngüde indeks veya sayaç 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 loopSystem.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 loopfor (String strTemp : arrData){System.out.println(strTemp);}}}
57) Elmas operatörünü açıklayın
Diamond operatörü, derleyicinin genel sınıfın tür bağımsız değişkenlerini toplamasını sağlar. Java SE'de geliştirici, parametreleştirilmiş yapıcıyı elmas operatörü olarak bilinen boş bir parametre kümesiyle (<>) 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 arabirimini uygulayan koleksiyon sınıflarını adlandırın
Java.util paketi, rasgele erişim arabirimini uygulayabilen sınıflara sahiptir: CopyOnWriteArrayList, Stack, ArrayList ve Vector.
60) Birden fazla Dizi Listesi nasıl birleştirilir?
Liste, Java'da bir addall () yöntemi birden çok 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 (secondAreaList);
61) Deque Arayüzünü Açıklayın
Java.util.Deque, Queue arabirimini genişleten bir arabirim olan Java'dır. Her iki uçta elemanların eklenmesi ve silinmesi için destek sağlar. Bu Kuyruğa ayrıca çift uçlu kuyruk da denir.
62) Linkedhashmap'i açıklayın
LinkedHashMap, Harita arayüzünün uygulamasıdır. Ayrıca HashMap sınıfını da genişletebilir. Bu nedenle, HashMap gibi LinkedHashMap de Java geliştiricilerinin bir boş anahtara ve birden fazla boş değere izin vermesini sağlar.
63) ArrayList'ten eleman çıkarma yöntemlerini açıklayın
Öğeleri ArrayList'ten kaldırmanın yöntemleri şunlardır:
Yöntem | Açıklama |
açık() | Bu yöntem, öğeleri ArrayList'ten kaldırır. |
remove (int indeksi) | Bu ArrayList yöntemi, öğeyi belirli bir konumdan kaldırabilir. |
kaldır (Nesne o) | Bahsetme öğesinin ilk geçtiği yeri ArrayList'ten kaldırabilir. |
hepsini kaldır() | Belirli bir koleksiyondaki öğelerin listesini kaldırabilir. |
removeIf (Dayanak süper E> filtresi) | Bu yöntem, bir yüklemden bahsetmeyi sağlayan öğeleri kaldırır. |
64) Haritayı açıklayın. Haritaya giriş
Map.entry, java.util'in bir Java arayüzüdür. Harita'da iç içe geçmiş bir arayüze sahiptir. Bu arayüz, üyesi olduğu sınıf veya arayüz adına göre nitelendirilmelidir. Bu nedenle Harita olarak nitelendirilir. Giriş. Bir Haritanın unsurunu 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, bir Map.Entry öğesine sahip haritanın set görünümünü almak için entrySet () öğesini kullanabilir. Programcı, haritanın anahtar ve değer çiftini almak için Map.Entry öğesinin getKey () ve getValue () işlevini de kullanabilir.
65) Bir diziyi artan sırada sıralamak için hangi yöntem kullanılır?
Java toplama çerçevesi yöntemi, Collections.sort () bir diziyi artan sırada sıralamak için kullanılır.
66) Bir ArrayList'in performansı nasıl ölçülür?
ArrayList'in performansı şu şekilde ölçülebilir:
- Bir öğe eklemek : 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. Bu, geliştirici dizi kapasitesinden daha fazla öğe eklerse gerçekleşebilir.
- Bir elemanın alınması : - Geliştirici, get (int indeksi) kullanarak dizi indeksine erişebilir. Bu durumda performans, ArrayList get () is O (1) kullanılarak ölçülebilir.
- Bir elemanın kaldırılması: Geliştiricilerin remove (int indeksi) kullanarak elementi kaldırması durumunda, ArrayList'in performansı söz konusu remove (int indeks) işlemi O (n - indeks) metodu kullanılarak hesaplanabilir.
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 başvuruyu tutmak için bir öğe değişkenine sahiptir. Bu, sonraki ve önceki düğümleri bağlamak için kullanılabilir.
68) Hashmap örneği verin
Hashmap örneği:
import java.util.HashMap;import java.util.Map;public class Sample_TestMaps{public static void main(String[] args){MapobjMap = new HashMap ();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 arabirim, haritanın görünüm kümesini veren iki yönteme sahiptir. Bu yöntemler şunlardır:
- Set
> entrySet (): Haritada belirtilen girişlere sahip bir set döndüren yöntemdir. Bu girişler genellikle, Map türüne sahip olan itiraz edilir. Giriş. - Set
keySet (): Bu Java yöntemi, eşleme anahtarına sahip bir set döndürür.
70) Java'da Ağaç Haritasını açıklayın
TreeMap, LinkedHashMap ve HashMap Harita arayüzünü 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'da gezinmek için Yineleyici veya Numaralandırıcı kullanılır. |
Hem HashTable, hem HashMap için kullanılabilir ve başarısız olur. | HashTable ile kullanılabilir ve güvenli değildir. |
HashMap, HashTable'dan daha hızlı performans gösterir. | Hashtable, HashMap'e kıyasla çok daha hızlı değil. |
72) HashSet'in Java'daki dahili çalışmasını açıklayın
Java'daki HashSet, öğeleri depolamak için dahili olarak HashMap kullanır. Yinelenen değerler olmadan benzersiz değerleri de depolayabilir.
Java'da, HashSet 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 gösterimini bir örnekle açıklayın
Big-O gösterimi, bir algoritmanın performansını ArrayList'teki öğe 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 (dizin i), sabit zamanlı bir işlem gerçekleştirme yöntemidir. Listede bulunan toplam eleman sayısına bağlı değildir. Bu nedenle, Big-O gösterimindeki performans O (1) 'dir.
74) Java Collection Framework'teki en iyi uygulamaları açıklayın
Java Collection Framework'teki en iyi uygulamalar şunlardır:
- İhtiyaca göre doğru toplama türünü seçin.
- Koleksiyon sınıflarında depolanacak toplam öğe sayısını tahmin ederek yeniden düzenlemek veya yeniden boyutlandırmaktan 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 Geliştirme Kiti 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 edilmiş veya boş koleksiyonlar elde etmek 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'da ç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 Sıra türüdür.
- Döngüsel Sıra: FIFO yöntemine göre kullanıcı işlemlerinin gerçekleştirildiği Sıra türüdür. Bir daire oluşturmak için son eleman ilk konuma bağlanır.
- Çift uçlu Sıra: Çift uçlu kuyruk, bir kuyruğu genelleştiren soyut bir veri türüdür. Bu sıradaki öğeler başlıktan veya kuyruktan eklenebilir veya kaldırılabilir.
76) Yığın ve Sıra arasındaki fark nedir?
Yığın | Kuyruk |
Yığının çalışma prensibi LIFO'dur. | Kuyruğun çalışma prensibi FIFO'dur. |
Bir uç, öğelerin eklenmesini veya silinmesini gerçekleştirmek için kullanılır. | Bir uç, yerleştirmeyi gerçekleştirmek için kullanılır ve diğer uç, öğelerin silinmesi için kullanılır. |
Tek işaretçi kullanır. | Basit bir kuyrukta iki işaretçi kullanır. |
Herhangi bir çeşidi yoktur. | Öncelik kuyruğu, dairesel Kuyruk, çift sonlandırılmış Kuyruk gibi çeşitleri 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 öğeler topluluğudur. | Push ve pop işlemleri olarak hizmet eden bir koleksiyon işlemidir. |
Aynı olan veri türlerinin unsurlarına sahiptir. | Farklı olan veri türlerinin unsurlarına sahiptir. |
Öğeler rastgele erişim işlemi kullanılarak kaldırılabilir veya diziye eklenebilir. | LIFO işlemi kullanılarak öğeler kaldırılabilir veya bir yığına eklenebilir. |
78) Yineleyici Tanımla ()
Iterator (), Koleksiyonu yinelemek için yöntemler sağlayan bir arabirimdir. Yineleyici, Java'da Numaralamanın yerini alabilir. Arayanın koleksiyondaki öğeleri kaldırmasına olanak tanır. Yöntem, koleksiyonun öğelerini kullanarak ve yineleyici tasarım modelini uygulayarak geçiş için genel bir yol sağlar.
79) Bir listeyi yinelemenin çeşitli yolları nelerdir?
Java koleksiyonu Çerçeve programcısı, bir listeyi iki şekilde yineleyebilir: 1) Yineleyici kullanarak ve 2) her döngü için 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önteminde verileri yönetmenize yardımcı olur.
- Bir işlev çağrıldığında, yerel değişkenler bir yığında saklanır ve döndürüldüğünde otomatik olarak yok edilir.
- Bir değişken, bu fonksiyonun dışında kullanılmadığında bir yığın kullanılır.
- Belleğin nasıl tahsis edileceğini ve ayrılacağını kontrol etmenizi sağlar.
- Yığın, nesneyi otomatik olarak temizler.
- Kolayca bozulmaz
- Değişkenler yeniden boyutlandırılamaz.