80 nejlepších dotazů na rozhovor s kolekcí Java & Odpovědi

Obsah

Tady jsou otázky týkající se rozhovorů o kolekcích Java pro čerstvé i zkušené kandidáty, aby získali práci svých snů.

1) Co je to framework v Javě?

Rámec je populární a připravená architektura, která obsahuje sadu tříd a rozhraní.

2) Co je to framework Collection v Javě?

Collection Framework je seskupení tříd a rozhraní, které se používá k ukládání a správě objektů. Poskytuje různé třídy jako Vector, ArrayList, HashSet, Stack atd. Rámec Java Collection lze také použít pro rozhraní jako Queue, Set, List atd.

3) Vysvětlete třídu sbírek

java.util.Collections je třída skládající se ze statických metod, které fungují na kolekcích. Obsahuje polymorfní algoritmy pro práci s kolekcemi, „wrappery“. Tato třída obsahuje metody pro algoritmy, jako je binární třídění, vyhledávání, míchání atd.

4) Co je hashCode ()?

HashCode () je metoda, která vrací celočíselný hash kód.

5) Rozlišujte mezi ArrayList a Vector v rámci kolekce Java.

ArrayList Vektor
ArrayList nelze synchronizovat. Vektor může být synchronizován.
Není to starší třída. Je to starší třída.
Může zvýšit svou velikost o 50% velikosti pole. Může zvýšit svou velikost zdvojnásobením velikosti pole.
ArrayList není bezpečný pro vlákna. Vektor je bezpečný pro vlákna.

6) Co je ArrayList v Javě?

ArrayList je datová struktura, kterou lze natáhnout, aby se do ní vešly další prvky, a po odebrání prvků se zmenší zpět na menší velikost. Jedná se o velmi důležitou datovou strukturu užitečnou při zpracování dynamického chování prvků.

7) Rozlišujte mezi Iterátorem a ListIterátorem

Rozdíl mezi Iterator a ListIterator je:

Iterátor ListIterator
Iterátor může procházet prvky pole ve směru dopředu. ListIterator může procházet prvky pole ve zpětném i dopředném směru.
Může být použit ve frontě, seznamu a sadě. Lze jej použít v seznamu.
Může provádět pouze operaci odebrání. Při procházení kolekce může provádět operace přidání, odebrání a nastavení.

8) Jaký je rozdíl mezi Iterátorem a Výčtem?

Rozdíl mezi iterátorem a výčtem

Iterátor Výčet
Iterátor může procházet jak staršími, tak nezvěstnými prvky. Výčet může procházet pouze starší prvky.
Iterátor je rychlý. Výčet není rychlý.
Iterátor je ve srovnání s výčtem velmi pomalý. Výčet je ve srovnání s Iterátorem rychlý.
Iterátor může provádět operaci odebrání při procházení kolekce. Výčet může v kolekci provádět pouze operaci procházení.

9) Definujte BlockingQueue

BlockingQueue je rozhraní používané v Javě, které může rozšířit frontu. Poskytuje souběžnost v různých operacích front, jako je načítání, vkládání, mazání atd.

Fronta čeká na to, aby v době načítání jakýchkoli prvků nebyla prázdná. BlockingQueue by neměl obsahovat nulové prvky. Implementace této fronty je bezpečná pro vlákna.

Syntaxe BlockingQueue je:

public interface BlockingQueue extends Queue  

10) Vysvětlete metodu přepsání equals ()

Metoda equals se používá ke kontrole podobnosti mezi dvěma objekty. V případě, že programátor chce zkontrolovat objekt na základě vlastnosti, musí být přepsán.

11) Jaký je rozdíl mezi srovnatelným a komparátorem?

Rozdíl mezi Comparable a Comparator je:

Srovnatelný Komparátor
Srovnatelná poskytuje metodu compareTo () pro třídění prvků v Javě. Komparátor poskytuje metodu porovnání () pro třídění prvků v Javě.
Srovnatelné rozhraní je přítomno v balíčku java.lang. Rozhraní komparátoru je k dispozici v Javě. balíček util.
Logika třídění musí být ve stejné třídě, jejíž objekt budete třídit. Logika třídění by měla být v samostatné třídě, aby bylo možné psát různé třídění na základě různých atributů objektů.
Třída, jejíž objekty chcete třídit, musí implementovat srovnatelné rozhraní. Class, jehož objekty chcete třídit, nemusíte implementovat komparátorové rozhraní.
Poskytuje jednotlivé třídicí sekvence. Poskytuje několik třídicích sekvencí.
Tato metoda může data seřadit podle přirozeného pořadí řazení. Tato metoda seřadí data podle přizpůsobeného pořadí řazení.
Ovlivňuje původní třídu. tj. skutečná třída je změněna. Neovlivňuje původní třídu, tj. Skutečná třída se nezmění.
Implementováno často v API pomocí kalendáře, tříd Wrapper, data a řetězce. Je implementován pro třídění instancí tříd třetích stran.
Všechny třídy obálky a třída String implementují srovnatelné rozhraní. Jediné implementované třídy komparátoru jsou Collator a RuleBasedColator.

12) Vysvětlete na příkladu equals ()

Equals () ověří, zda se objekt číslo rovná objektu, který je předán jako argument nebo ne.

Syntaxe metody equals () je:

public boolean equals(Object o) 

Tato metoda trvá dva parametry 1) libovolný objekt, 2) návratová hodnota. Vrátí true, pokud předaný argument nemá hodnotu null a je objektem podobného typu se stejnou číselnou hodnotou.

Příklad:

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) Seznam výhod generické sbírky

Výhody používání generické kolekce jsou:

  • Pokud programátoři používají obecnou třídu, nevyžadují strojové vysílání.
  • Je typově bezpečný a lze jej zkontrolovat v době kompilace.
  • Poskytuje stabilitu kódu detekcí chyby v době kompilace.

14) Vysvětlete metodu převodu ArrayList na Array a Array na ArrayList

Programátoři mohou převést Array na ArrayList pomocí metody asList () třídy Arrays. Jedná se o statickou metodu třídy Arrays, která přijímá objekt List. Syntaxe metody asList () je:

Arrays.asList(item) 

Programátoři Java mohou převést ArrayList na objekt List pomocí syntaxe:

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

15) Uveďte příklad ArrayList

Příklad reverzního ArrayList je:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = 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) Uveďte příklad pro seřazení pole v sestupném pořadí

Příklad řazení pole v sestupném pořadí je:

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) Vysvětlete základní rozhraní rámce kolekcí Java

Rámec kolekce Java je kořenem hierarchie kolekce. Představuje skupinu objektů jako své prvky. Programovací jazyk Java neposkytuje přímou implementaci takového rozhraní.

  • Sada: Sada je kolekce bez duplicitních prvků. Pro ukládání prvků používá hashtable.
  • Seznam: Seznam je uspořádaná kolekce, která může obsahovat duplicitní prvky. Umožňuje vývojářům přístup ke všem prvkům ze své doručené pošty. Seznam je jako pole s dynamickou délkou.
  • MAP: Je to objekt, který mapuje klíče na hodnoty. Nemůže obsahovat duplicitní klíče. Každý klíč lze namapovat na alespoň jednu hodnotu.

18) Jaké jsou vlastnosti Java Hashmap?

Funkce Java Hashmap jsou:

  • Hodnoty lze uložit na mapu vytvořením páru klíč-hodnota. Hodnotu lze načíst pomocí klíče předáním správné metodě.
  • Pokud v Mapě žádný prvek neexistuje, vyvolá výjimku NoSuchElementException.
  • HashMap ukládá pouze odkazy na objekty. Proto je nemožné použít primitivní datové typy jako double nebo int. Místo toho použijte obálkovou třídu (například Integer nebo Double).

19) Co je to zásobník?

Zásobník je speciální oblast paměti počítače, která ukládá dočasné proměnné vytvořené funkcí. V zásobníku jsou proměnné deklarovány, ukládány a inicializovány během běhu.

20) Co je to propojený seznam?

Propojený seznam je datová struktura, do které lze uložit kolekci položek. Jinými slovy lze propojené seznamy využít k uložení několika objektů stejného typu. Každá jednotka nebo prvek v seznamu se označuje jako uzel. Uzel v propojeném seznamu má svá data a adresu dalšího uzlu. Je to jako řetěz. Propojené seznamy se používají k vytváření grafů a stromů.

21) Uveďte příklad ArrayList

Příklad ArrayList je:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = 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) Vysvětlete propojený seznam podporovaný Javou

Java podporuje dva typy propojených seznamů:

  • Seznam Singly Linked: Seznam Singly Linked je typ datové struktury. V jednotlivě propojeném seznamu ukládá každý uzel v seznamu obsah uzlu a odkaz nebo ukazatel na další uzel v seznamu. Neukládá žádný odkaz ani ukazatel na předchozí uzel.
  • Zdvojnásobené propojené seznamy: Zdvojnásobené propojené seznamy jsou speciální typ propojeného seznamu, kde lze procházet datovými prvky v obou směrech. To je možné díky tomu, že v každém uzlu jsou dva odkazy, jeden s dalším uzlem a druhý s předchozím uzlem.

23) Vysvětlete metody poskytované rozhraním fronty?

Metody rozhraní Java Queue jsou:

Metoda Popis
boolean add (objekt) Vloží zadaný prvek do fronty. V případě úspěchu se vrátí.
booleovská nabídka (objekt) Tato metoda se používá k vložení prvku do fronty.
Objekt remove () Načte a odebere hlavu fronty.
Anketa objektu () (): Načte a odstraní hlavu fronty nebo vrátí null v případě, že je prázdná.
Anketa objektu () Načte a odebere hlavu fronty nebo vrátí null v případě, že je prázdná.
Prvek objektu () Načte data z fronty, ale neodstraní její hlavu.
Prohlížení objektu () Načte data z fronty, ale neodstraní její hlavu, nebo v případě, že je fronta prázdná, načte null.

24) Uveďte metody poskytované třídou Stack

Důležité metody poskytované třídou Stack jsou:

  • push (): Zatlačí položku do stohu.
  • empty (): Tato metoda zjistí, zda je zásobník prázdný nebo ne.
  • pop (): Tato metoda rámce kolekce Java odstraní objekt ze zásobníku.
  • search (): Tato metoda prohledá položky v zásobníku.
  • peek (): Tato metoda Java se dívá na objekt zásobníku, aniž by jej odstranila.

25) Definujte emptySet () v rámci kolekce Java

Metoda emptySet (), která vrací prázdnou nezměnitelnou sadu, kdykoli se programátoři pokusí odstranit null prvky. Sada, která je vrácena emptySet (), je serializovatelná. Syntaxe této metody je:

public static final Set emptySet ()

26) Rozlišujte mezi sbírkou a sbírkami

Rozdíl mezi sbírkou a sbírkami jsou:

Sbírka Sbírky
Kolekce je rozhraní. Kolekce je třída.
Představuje skupinu objektů jako jednu entitu. Definuje různé metody obsluhy pro objekty kolekce.
Kolekce je kořenovým rozhraním rámce Java Collection. Kolekce je obecná třída nástrojů.
Toto rozhraní se používá k odvození datových struktur sběru. Tato třída obsahuje statické metody pro manipulaci s datovou strukturou.

27) Definovat LinkedHashSet v rámci kolekce Java?

LinkedHashSet je podtřída třídy s názvem HashSet a implementuje nastavené rozhraní. Jedná se o dobře uspořádanou verzi HashSet, která udržuje dvojitě propojený seznam napříč všemi svými prvky.

28) Jaký je rozdíl mezi Failfast a FailSafe?

Failfast Bezpečné
Při iteraci neumožňuje úpravy kolekce. Umožňuje iteraci úpravy kolekce.
Může vyvolat ConcurrentModificationException To nemůže vyvolat žádnou výjimku.
K procházení prvků používá původní kolekci. K procházení prvků používá originální kopii sbírky.
Neexistuje žádný požadavek na extra paměť. Existuje požadavek na extra paměť.

29) Seznam zobrazení seznamu mapového rozhraní

Zobrazení kolekce rozhraní mapy jsou: 1) zobrazení sady klíčů, 2) zobrazení sady hodnot a 3) zobrazení sady záznamů.

30) Jaké jsou výhody Collection Framework v Javě?

Výhody Collection Framework v Javě jsou:

  • Rámec kolekce Java nabízí vysoce efektivní a efektivní datové struktury, které zvyšují přesnost a rychlost programu.
  • Program vyvinutý pomocí rámce kolekce Java se snadno udržuje.
  • Vývojář může kombinovat třídy s jinými typy, což má za následek zvýšení opětovné použitelnosti kódu.
  • Rámec kolekce Java umožňuje programátorům upravit primitivní typy kolekcí tak, jak se jim líbí.

31) Jaký je dobrý způsob třídění objektů Collection v Javě?

Dobrým způsobem, jak třídit objekty kolekce Java, je použití rozhraní Comparable a Comparator. Vývojář může použít Collections.sort (), prvky jsou tříděny na základě zmínky o objednávce v compareTo ().

Když vývojář používá kolekce, řazení (komparátor), třídí objekty závislé na porovnání () rozhraní komparátoru.

32) Vysvětlete vektor v Javě

Vektor je stejný jako pole. Má komponenty, ke kterým lze přistupovat pomocí hodnoty indexu. Vektory mohou obsahovat starší metodu, která není ani součástí rámce kolekce.

33) Jaký je rozdíl mezi sadou a mapou?

Soubor Mapa
Sada patří do balíčku-java.util. Mapa patří package- java.util.
Může rozšířit rozhraní kolekce. Nerozšiřuje rozhraní kolekce.
Nepovoluje duplicitní hodnoty. Umožňuje duplicitní hodnoty.
Sada může třídit pouze jednu nulovou hodnotu. Mapa může třídit více hodnot null.

34) Definujte třídu slovníku

Třída Slovník je třída Java, která má schopnost ukládat páry klíč – hodnota.

35) Definujte EnumSet

java.util.EnumSet je implementace Set, kterou lze použít s typy výčtu. Sada EnumSet se všemi prvky musí pocházet z jednoho typu výčtu určeného explicitně nebo implicitně. Není synchronizován a také nejsou povoleny nulové klíče. EnumSet poskytuje metody jako EnumSetof (nejprve E, E.

… Zbytek) ,plementOf (EnumSet s) a copyOf (kolekce c).

36) Jaké jsou dva způsoby, jak odstranit duplikáty z ArrayList?

Dva způsoby, jak odstranit duplikáty z ArrayList, jsou:

  • HashSet: Vývojář může pomocí HashSet odebrat duplicitní prvek z ArrayList. Nevýhodou je, že nemůže zachovat pořadí vložení.
  • LinkedHashSet: Vývojáři mohou také udržovat pořadí vkládání pomocí LinkedHashSet místo HashSet.

37) Co je IdentityHashMap?

IdentityHashMap je třída, která implementuje Serializable, Clonable rozhraní, Map a rozšiřuje třídu AbstractMap. Je určen pro případ, kdy je potřeba sémantiky referenční rovnosti.

38) Co je WeakHashMap?

WeakHashMap je implementace Java Map. Používá se k ukládání slabých odkazů na jeho klíče. Třídění pomocí této mapy umožňuje, aby se pár klíč – hodnota shromažďoval jako smetí. Na jeho klíč není odkazováno mimo WeakHashMap.

39) Jaké jsou způsoby, jak zajistit bezpečné shromažďování vláken?

Metody pro zajištění bezpečného vlákna kolekce jsou:

  • Collections.synchronizedList (seznam);
  • Collections.synchronizedMap (mapa);
  • Collections.synchronizedSet (sada);

40) Vysvětlete výjimku UnsupportedOperationException

UnsupportedOperationException je výjimka, která je vyvolána u metod, které nejsou podporovány skutečným typem kolekce.

Například vývojář vytváří seznam jen pro čtení pomocí metody „Collections.unmodifiableList (seznam)“ a volání metody call (), add () nebo remove (). Mělo by to jasně hodit UnsupportedOperationException.

41) Pojmenujte třídy kolekce, které poskytují náhodným prvkům přístup k jejich prvkům

Třídy kolekce, které poskytují náhodným prvkům přístup k jejich prvkům, jsou: 1) ArrayList, 2) HashMap, 3) TreeMap a 4) Hashtable.

42) Vysvětlete rozdíl mezi frontou a deque.

Fronta Deque
Říká se tomu fronta s jedním koncem Říká se tomu dvojitá fronta
Prvky ve frontě jsou přidány nebo odebrány z jednoho konce Prvky ve frontě se přidávají z obou konců a lze je přidávat a odebírat z obou konců
Je méně univerzální. Je univerzálnější.

43) Uveďte implementační rozhraní List and Set

Rozhraní třídy implementující seznam: 1) ArrayList, 2) Vector a 3) LinkedList.

Třída implementující rozhraní sady: 1) HashSet a 2) TreeSet.

44) Vysvětlete návrhový vzor následovaný Iterátorem

Iterátor sleduje detail návrhového vzoru iterátoru. Poskytuje vývojáři navigaci v kolekcích objektů pomocí společného rozhraní bez znalosti jeho implementace.

45) Jaký je náhled rozhraní Queue?

Peek () je metoda rozhraní fronty. Načte všechny prvky, ale neodstraní hlavu fronty. V případě, že je fronta prázdná, vrátí tato metoda null.

46) Co je CopyOnWriteArrayList?

CopyOnWriteArrayList je varianta ArrayList, ve které jsou operace jako add a set implementovány vytvořením kopie pole. Je bezpečný pro vlákna, a proto nevyvolává ConcurrentModificationException. Tento ArrayLists povoluje všechny prvky, včetně null.

47) Rozlišujte mezi ArrayList a LinkedList

Rozdíl mezi ArrayList a LinkedList je:

ArrayList Spojový seznam
Využívá dynamické pole. Používá dvojnásobně propojený seznam.
ArrayList není vhodnější pro manipulaci. LinkedList je vhodnější pro manipulaci.
ArrayList poskytuje náhodný přístup. LinkedList neposkytuje náhodný přístup.
ArrayList s ukládá pouze objekty, proto to vyžaduje menší režii paměti LinkedList ukládá objekt i objekt adresy; proto to vyžaduje větší režii paměti.

48) Vysvětlete metody rozhraní iterátoru

Metody rozhraní iterátoru jsou:

Metoda Popis
public boolean hasNext () Vrací true v iterátoru má prvky; v opačném případě vrátí hodnotu false.
public Object next () Tato metoda vrací prvek a přesune ukazatel na další hodnotu.
public void remove () Tato metoda Java může odstranit poslední prvky vrácené iterátorem. Public void remove () je méně využíván.

49) Jaké jsou metody třídy HashSet?

Metody třídy HashSet jsou:

Metody Popis
boolean add (Objekt o) Tato metoda přidá prvek zmínky do této sady, pokud již není přítomen.
boolean obsahuje (Objekt o): Vrátí true, pokud sada obsahuje zadaný prvek.
void clear (): Tato metoda odstraní nastavené prvky.
boolean isEmpty (): Vrací hodnotu true v případě, že sada nemá žádné prvky.
boolean remove (Objekt o): Odstraní zadaný prvek ze sady.
klon objektu (): Tato metoda vrací kopii instance HashSet: samotné prvky nejsou klonovány.
iterátor iterátor () Vrátí iterátor nad prvky v této sadě.
int velikost (): Vrátí počet prvků dostupných v sadě.

50) Jaké jsou metody třídy Java TreeSet?

Metody třídy Java TreeSet jsou:

Metody Popisy
boolean addAll (kolekce c) Přidejte do této sady všechny prvky v zadané kolekci.
boolean obsahuje (Objekt o) Vrátí hodnotu true, pokud sada obsahuje prvek zmínky.
boolean isEmpty () Tato metoda Java vrací true, pokud tato sada neobsahuje žádné prvky.
boolean remove (Objekt o) Odeberte zadaný prvek ze sady.
void add (Objekt o) Přidá zadaný prvek do sady.
prázdnota clear () Tato metoda Java odstraní všechny prvky ze sady.

51) Vysvětlete propojenou sadu hash

Java LinkedHashSet třída je propojený seznam a implementace Hash tabulky rozhraní Set. Obsahuje jedinečné prvky stejné jako HashSet. Propojená sada HashSet v Javě také poskytuje volitelné operace sady, které mohou udržovat pořadí vkládání.

52) Jaké jsou důležité metody používané v propojeném seznamu?

Důležité metody použité v propojeném seznamu jsou:

Metoda Popis
boolean add (Objekt o) Používá se k připojení zadaného prvku na konec vektoru.
boolean obsahuje (Objekt o) Je to metoda, která vrací true, pokud tento seznam obsahuje zadaný prvek.
void add (int index, Object element) Vloží prvek na zadaný prvek ve vektoru.
void addFirst (Objekt o) Slouží k vložení daného prvku na začátek.
void addLast (Objekt o) Slouží k připojení daného prvku na konec.
Velikost int () Tuto metodu lze použít k vrácení celkového počtu prvků v seznamu.
boolean remove (Objekt o) Může odebrat první výskyt zadaného prvku z tohoto seznamu.
int indexOf (Object element) Tato metoda Java vrací index s prvním výskytem prvku zmínky v tomto seznamu nebo -1.
int lastIndexOf (prvek objektu) Jedná se o metodu Java, která vrací index s posledním výskytem zadaného prvku v tomto seznamu nebo -1.

53) Seznam různých tříd dostupných v sadách

Různé třídy dostupné v sadách jsou: HashSet, TreeSetand a LinkedHashSet.

54) Seznam metod dostupných v rozhraní Java Queue

  • boolean add (objekt)
  • booleovská nabídka (objekt)
  • objekt remove ()
  • průzkum objektu ()
  • objektový prvek ()
  • objekt nahlédnout ()

55) Rozlišujte mezi seznamem a sadou.

Seznam Soubor
Objednaná kolekce prvků Neuspořádaná kolekce prvků
Zachová pořadí vložení Nezachovává pořadí vložení
Duplicitní hodnoty jsou povoleny Duplicitní hodnoty nejsou povoleny
Lze uložit libovolný počet hodnot null Lze uložit pouze jednu nulovou hodnotu
ListIterator lze použít k procházení seznamu jakýmkoli směrem ListIterator nelze použít k procházení sady
Obsahuje starší třídu zvanou vektor Neobsahuje žádnou starší třídu

56) Vysvětlete pro každou smyčku příklad

For-each Loop je další forma smyčky for používaná k procházení pole. Výrazně to snižuje kód a ve smyčce se nepoužívá index nebo spíše čítač.

Příklad pro každou smyčku:

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) Vysvětlete operátora diamantu

Operátor Diamond umožňuje kompilátoru shromažďovat argumenty typu generické třídy. V prostředí Java SE může vývojář nahradit parametrizovaný konstruktor prázdnými sadami parametrů (<>) známými jako diamantový operátor.

58) Vysvětlete rozhraní náhodného přístupu

Rozhraní RandomAccess používají implementace Listu k indikaci, že rychle podporují.

59) Pojmenujte třídy kolekce, které implementují rozhraní s náhodným přístupem

Balíček Java.util má třídy, které mohou implementovat rozhraní s náhodným přístupem, jsou: CopyOnWriteArrayList, Stack, ArrayList a Vector.

60) Jak se připojit k více ArrayLists?

Seznam poskytuje metodu addall () více ArrayList v Javě.

Zvažte například dva seznamy 1) areaList a 2) secondAreaList. Vývojář se k nim může připojit pomocí addall () jako:

areaList.addAll (secondAreaList);

61) Vysvětlete deque rozhraní

Java.util.Deque je Java, rozhraní, které rozšiřuje rozhraní fronty. Poskytuje podporu pro vkládání a mazání prvků na obou koncích. Tato fronta se také nazývá dvojitá fronta.

62) Vysvětlete propojenou mapu

LinkedHashMap je implementace rozhraní Map. Může také rozšiřovat třídu HashMap. Proto, stejně jako HashMap, LinkedHashMap umožňuje vývojářům Java povolit jeden nulový klíč a více než jednu nulovou hodnotu.

63) Vysvětlete metody odstranění prvků z ArrayList

Metody odebrání prvků z ArrayList jsou:

Metoda Popis
Průhledná() Tato metoda odebere prvky z ArrayList.
remove (int index) Tato metoda ArrayList může odstranit prvek na určité pozici.
odstranit (Objekt o) Může odstranit první výskyt prvku zmínky z ArrayList.
odebrat všechny() Může odebrat seznam prvků, které jsou v konkrétní kolekci.
removeIf (Filtr predikátu ) Tato metoda odstraní prvky, které splňují zmínku o predikátu.

64) Vysvětlete mapu. záznam na mapě

Map.entry je rozhraní Java souboru java.util. Má vnořené rozhraní v Mapě. Toto rozhraní musí být kvalifikováno názvem třídy nebo rozhraní, jehož je členem. Proto je kvalifikován jako mapa. Vstup. Představuje dvojici klíčů a hodnot, které mohou tvořit prvek Map.

Tato metoda vrátí pohled na kolekci. Zvažte například cityMap jako mapu. Vývojář může pomocí položky entrySet () získat zobrazení mapy s prvkem Map.Entry. Programátor může také použít getKey () a getValue () Map.Entry k získání dvojice klíčů a hodnot mapy.

65) Jaká metoda se používá k řazení pole ve vzestupném pořadí?

Metoda rámce kolekce Java, Collection.sort () se používá k řazení pole ve vzestupném pořadí.

66) Jak měřit výkon ArrayList?

Výkon ArrayList lze měřit podle:

  • Přidání prvku: Vývojář může přidat prvek na konec ArrayList pomocí metody add (E e). Je to O (1). V nejhorším scénáři by to mohlo jít do O (n). To se může stát, pokud vývojář přidá více prvků, než je kapacita pole.
  • Načítání prvku : - Vývojář má přístup k indexu pole pomocí get (int index). Výkon lze v tomto případě měřit pomocí ArrayList get () je O (1).
  • Odebrání prvku: V případě, že vývojáři odebírají prvek pomocí funkce remove (int index), lze výkon ArrayList vypočítat pomocí uvedené operace remove (int index) je metoda O (n - index).

67) Vysvětlete třídu LinkedList

Třída LinkedList v Javě implementuje Deque a List pomocí dvojnásobně propojeného seznamu. V seznamu s dvojitým propojením, který poskytuje jeho strukturu, je uzel soukromé třídy. Má také proměnnou položky pro uchovávání hodnoty a odkazu na třídu Node. To lze použít pro připojení dalšího a předchozího uzlu.

68) Uveďte příklad Hashmap

Příklad Hashmap je:

import java.util.HashMap;import java.util.Map;public class Sample_TestMaps{public static void main(String[] args){Map objMap = 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) Jak iterovat mapu?

Vývojář nemůže přímo iterovat mapu, ale toto rozhraní má dvě metody, které poskytují sadu zobrazení mapy. Jedná se o tyto metody:

  • Set > entrySet (): Jedná se o metodu, která vrací sadu obsahující položky uvedené v mapě. Proti těmto položkám se obecně vznáší námitky, které mají typ Mapa. Vstup.
  • Set keySet (): Tato metoda Java vrací sadu, která má klíč mapy.

70) Vysvětlete Treemap v Javě

TreeMap je třída, která implementuje mapové rozhraní LinkedHashMap a HashMap. Může také implementovat rozhraní NavigableMap a může rozšiřovat třídu AbstractMap.

71) Jaký je rozdíl mezi Hashmap a Hashtable?

Hashmap Hashtable
Není synchronizován. Je synchronizován.
HashMap umožňuje jeden klíč jako nulovou hodnotu. HashTable neumožňuje hodnoty null.
Iterátor se používá k procházení HashMap. Pro procházení HashTable se používá buď Iterator, nebo Enumerator.
Může být použit pro HashTable, HashMap a je rychlý. Může být použit s HashTable a je bezpečný proti selhání.
HashMap funguje rychleji než HashTable. Hashtable není ve srovnání s HashMap mnohem rychlejší.

72) Vysvětlete vnitřní fungování HashSet v Javě

HashSet v Javě interně používá HashMap k ukládání prvků. Může také ukládat jedinečné hodnoty bez duplicitních hodnot.

V Javě může vývojář HashSet mít metodu add (E e), která jako parametr přidá pouze prvek. Nepřijímá dvojici klíčů a hodnot.

73) Vysvětlete příklad Big-O

Notace Big-O zobrazuje výkon algoritmu jako počet prvků v ArrayList. Vývojář může pomocí notace Big-O zvolit implementaci kolekce. Je založen na výkonu, čase a paměti.

Například ArrayList get (index i) je metoda k provedení operace v konstantním čase. Nezáleží na celkovém počtu prvků dostupných v seznamu. Proto je výkon v zápisu Big-O O (1).

74) Vysvětlete osvědčené postupy v prostředí Java Collection Framework

Nejlepší postupy v prostředí Java Collection Framework jsou:

  • Výběr správného typu sběru závisí na potřebě.
  • Vyhněte se opětovnému promíchání nebo změně velikosti odhadem celkového počtu prvků, které mají být uloženy ve třídách kolekce.
  • Napište program Java, pokud jde o rozhraní. To pomůže vývojáři v budoucnu bez námahy změnit jeho implementaci.
  • Vývojář může použít Generics pro bezpečnost typu.
  • Používejte neměnné třídy dané sadou Java Development Kit. Vyhněte se implementaci equals () a hashCode () pro vlastní třídy.
  • Programátor by měl použít třídu obslužného programu Kolekce pro algoritmy nebo pro získání pouze ke čtení, synchronizovaných nebo prázdných kolekcí. Tím se zlepší opakovaná použitelnost kódu s nízkou udržovatelností.

75) Vysvětlete různé typy front v Javě

V Javě existují tři typy front:

  • Prioritní fronta: Jedná se o speciální typ fronty, kde jsou prvky tříděny podle jejich přirozeného řazení nebo vlastního komparátoru.
  • Kruhová fronta: Jedná se o typ fronty, ve které jsou uživatelské operace prováděny na základě metody FIFO. Poslední prvek je spojen s první pozicí, aby vytvořil kruh.
  • Dvojitá fronta: Dvojitá fronta je abstraktní datový typ, který zobecňuje frontu. Prvky v této frontě lze přidat nebo odebrat z hlavy nebo ocasu.

76) Jaký je rozdíl mezi zásobníkem a frontou?

Zásobník Fronta
Princip práce zásobníku je LIFO. Pracovní princip fronty je FIFO.
Jeden konec se používá k provedení vložení nebo odstranění prvků. Jeden konec se používá k vložení a druhý konec se používá k odstranění prvků.
Používá jeden ukazatel. Používá dva ukazatele v jednoduché frontě.
Nemá žádnou variantu. Má varianty jako prioritní fronta, kruhová fronta, dvojnásobně ukončená fronta.
Jeho použití je snadné. Není to snadné.

77) Jaký je rozdíl mezi polem a zásobníkem?

Rozdíl mezi polem a zásobníkem je:

Pole Zásobník
Jedná se o kolekci prvků, které jsou identifikovány indexem. Jedná se o operaci kolekce, která slouží jako operace push a pop.
Má prvky datových typů, které jsou stejné. Má prvky datových typů, které se liší.
Prvky lze odebrat nebo přidat do pole pomocí operace náhodného přístupu. Prvky lze odebrat nebo přidat do stohu pomocí operace LIFO.

78) Definujte Iterátor ()

Iterator () je rozhraní, které poskytuje metody pro iteraci kolekce. Iterator může nahradit Enumeration v Javě. Umožňuje volajícímu odebrat prvky z kolekce. Metoda poskytuje obecný způsob pro procházení pomocí prvků kolekce a implementace návrhového vzoru iterátoru.

79) Jaké jsou různé způsoby iterace seznamu?

Programátor Java Collection Framework může iterovat seznam dvěma způsoby: 1) pomocí iterátoru a 2) pomocí pro každou smyčku.

80) Jaké jsou výhody zásobníku?

Výhody zásobníku jsou:

  • Pomáhá vám spravovat data metodou Last In First Out (LIFO), což u propojeného seznamu a pole není možné.
  • Při volání funkce se místní proměnné uloží do zásobníku a po vrácení se automaticky zničí.
  • Zásobník se používá, když se proměnná nepoužívá mimo tuto funkci.
  • Umožňuje vám řídit, jak je alokována a uvolněna paměť.
  • Stack automaticky vyčistí objekt.
  • Nelze snadno poškodit
  • Velikost proměnných nelze změnit.

Zajímavé články...