- Detaylar
- Son Güncelleme: 27 Nisan 2021
İş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:
|Toplamak||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ı 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'ı atabilir||Herhangi 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 denir||Buna ç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) 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ır||LinkedList, 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 koleksiyonu||Sırasız elemanlar topluluğu|
|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 hareket ettirmek için kullanılabilir||ListIterator, bir Kümeyi geçmek 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 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:
- Ayarlamak
giriş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.