Le 80 principali domande di intervista sulle raccolte Java e amp; Risposte

Anonim

Ecco le domande dell'intervista sulle collezioni Java per candidati più freschi ed esperti per ottenere il lavoro dei loro sogni.

1) Cos'è il framework in Java?

Un framework è un'architettura popolare e già pronta che contiene un insieme di classi e interfacce.

2) Cos'è il framework Collection in Java?

Collection Framework è un raggruppamento di classi e interfacce utilizzato per archiviare e gestire gli oggetti. Fornisce varie classi come Vector, ArrayList, HashSet, Stack, ecc. Il framework Java Collection può essere utilizzato anche per interfacce come Queue, Set, List, ecc.

3) Spiegare la classe delle collezioni

java.util.Collections è una classe costituita da metodi statici che operano sulle raccolte. Contiene algoritmi polimorfici per operare su collezioni, "wrapper". Questa classe contiene metodi per algoritmi, come ordinamento binario, ricerca, mescolamento, ecc.

4) Cos'è hashCode ()?

HashCode () è un metodo che restituisce un codice hash intero.

5) Distinguere tra ArrayList e Vector nel framework di raccolta Java.

Lista di array Vettore
ArrayList non può essere sincronizzato. Il vettore può essere sincronizzato.
Non è una classe legacy. È una classe ereditaria.
Può aumentare le sue dimensioni del 50% rispetto alle dimensioni dell'array. Può aumentare le sue dimensioni raddoppiando le dimensioni dell'array.
ArrayList non è thread-safe. Vector è un thread-safe.

6) Cos'è ArrayList in Java?

ArrayList è una struttura di dati che può essere estesa per accogliere elementi aggiuntivi al suo interno e ridursi a una dimensione inferiore quando gli elementi vengono rimossi. È una struttura dati molto importante utile nella gestione del comportamento dinamico degli elementi.

7) Differenziare tra Iterator e ListIterator

La differenza tra Iterator e ListIterator è:

Iteratore ListIterator
L'iteratore può attraversare gli elementi dell'array nella direzione in avanti. ListIterator può attraversare gli elementi dell'array sia in avanti che all'indietro.
Può essere utilizzato in Queue, List e Set. Può essere utilizzato in List.
Può eseguire solo l'operazione di rimozione. Può eseguire operazioni di aggiunta, rimozione e impostazione durante l'attraversamento della raccolta.

8) Qual è la differenza tra Iterator ed Enumeration?

La differenza tra Iterator ed Enumeration

Iteratore Enumerazione
L'iteratore può attraversare sia elementi legacy che non legacy. L'enumerazione può attraversare solo elementi legacy.
L'iteratore è veloce. L'enumerazione non è rapida.
L'iteratore è molto lento rispetto all'enumerazione. L'enumerazione è veloce rispetto a Iterator.
L'iteratore può eseguire l'operazione di rimozione durante l'attraversamento della raccolta. L'enumerazione può eseguire solo operazioni traverse sulla raccolta.

9) Definisci BlockingQueue

BlockingQueue è un'interfaccia utilizzata in Java che può estendere la coda. Fornisce la concorrenza in varie operazioni di coda come il recupero, l'inserimento, l'eliminazione, ecc.

La coda attende di diventare non vuota al momento del recupero di qualsiasi elemento. BlockingQueue non deve contenere elementi nulli. L'implementazione di questa coda è thread-safe.

La sintassi di BlockingQueue è:

public interface BlockingQueue extends Queue  

10) Spiegare il metodo override equals ()

Il metodo uguale viene utilizzato per verificare la somiglianza tra due oggetti. Nel caso in cui il programmatore desideri controllare un oggetto in base alla proprietà, è necessario sovrascriverlo.

11) Qual è la differenza tra Comparable e Comparator?

La differenza tra Comparable e Comparator è:

Paragonabile Comparatore
Comparable fornisce il metodo compareTo () per ordinare gli elementi in Java. Il comparatore fornisce il metodo compare () per ordinare gli elementi in Java.
Un'interfaccia comparabile è presente nel pacchetto java.lang. L'interfaccia del comparatore è presente in java. pacchetto util.
La logica dell'ordinamento deve essere nella stessa classe di cui si desidera ordinare l'oggetto. La logica dell'ordinamento dovrebbe essere in una classe separata per scrivere un ordinamento diverso in base a diversi attributi degli oggetti.
La classe di cui si desidera ordinare gli oggetti deve implementare l'interfaccia comparabile. La classe, di cui si desidera ordinare gli oggetti, non è necessaria per implementare un'interfaccia di confronto.
Fornisce singole sequenze di ordinamento. Fornisce più sequenze di ordinamento.
Questo metodo può ordinare i dati in base all'ordinamento naturale. Questo metodo ordina i dati in base all'ordinamento personalizzato.
Colpisce la classe originale. cioè, la classe effettiva viene modificata. Non influisce sulla classe originale, ovvero la classe effettiva non viene modificata.
Implementato frequentemente nell'API da Calendar, classi wrapper, Date e String. È implementato per ordinare le istanze di classi di terze parti.
Tutte le classi wrapper e la classe String implementano l'interfaccia comparabile. Le uniche classi implementate di Comparator sono Collator e RuleBasedColator.

12) Spiega equals () con l'esempio

Equals () verifica se l'oggetto numero è uguale all'oggetto, che viene passato come argomento o meno.

La sintassi del metodo equals () è:

public boolean equals(Object o) 

Questo metodo accetta due parametri 1) qualsiasi oggetto, 2) valore di ritorno. Restituisce vero se l'argomento passato non è nullo ed è un oggetto di un tipo simile con lo stesso valore numerico.

Esempio:

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) Elenca i vantaggi della raccolta generica

I vantaggi dell'utilizzo della raccolta generica sono:

  • Se i programmatori utilizzano una classe generica, non richiedono il typecasting.
  • È indipendente dai tipi e può essere verificato al momento della compilazione.
  • Fornisce la stabilità del codice rilevando bug al momento della compilazione.

14) Spiegare il metodo per convertire ArrayList in Array e Array in ArrayList

I programmatori possono convertire un array in ArrayList utilizzando il metodo asList () della classe Array. È un metodo statico della classe Arrays che accetta l'oggetto List. La sintassi del metodo asList () è:

Arrays.asList(item) 

I programmatori Java possono convertire ArrayList nell'oggetto List utilizzando la sintassi:

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

15) Fornisci un esempio di ArrayList

L'esempio di ArrayList inverso è:

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) Fornisci un esempio per ordinare un array in ordine crescente

L'esempio di ordinamento di un array in ordine decrescente è:

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) Spiegare le interfacce di base del framework delle collezioni Java

Il framework di raccolta Java è una radice della gerarchia di raccolta. Rappresenta un gruppo di oggetti come suoi elementi. Il linguaggio di programmazione Java non fornisce un'implementazione diretta di tale interfaccia.

  • Set: Set è una raccolta che non ha elementi duplicati. Usa la tabella hash per memorizzare gli elementi.
  • List: List è una raccolta ordinata che può contenere elementi duplicati. Consente agli sviluppatori di accedere a qualsiasi elemento dalla sua casella di posta. L'elenco è come un array di lunghezza dinamica.
  • MAPPA: è un oggetto che mappa le chiavi sui valori. Non può contenere chiavi duplicate. Ogni chiave può essere mappata su almeno un valore.

18) Quali sono le caratteristiche di Java Hashmap?

Le caratteristiche di Java Hashmap sono:

  • I valori possono essere memorizzati in una mappa formando una coppia chiave-valore. Il valore può essere recuperato utilizzando la chiave passandolo al metodo corretto.
  • Se non esiste alcun elemento nella mappa, verrà generata un'eccezione "NoSuchElementException".
  • HashMap memorizza solo i riferimenti agli oggetti. Questo è il motivo per cui è impossibile utilizzare tipi di dati primitivi come double o int. Usa invece la classe wrapper (come Integer o Double).

19) Cos'è uno Stack?

Uno stack è un'area speciale della memoria del computer che memorizza le variabili temporanee create da una funzione. Nello stack, le variabili vengono dichiarate, archiviate e inizializzate durante il runtime.

20) Cos'è la lista collegata?

Un elenco collegato è una struttura di dati che può memorizzare una raccolta di elementi. In altre parole, gli elenchi collegati possono essere utilizzati per memorizzare diversi oggetti dello stesso tipo. Ciascuna unità o elemento dell'elenco è denominato nodo. Un nodo nell'elenco Collegato ha i suoi dati e l'indirizzo del nodo successivo. È come una catena. Gli elenchi collegati vengono utilizzati per creare grafici e alberi.

21) Fornisci un esempio di ArrayList

L'esempio di ArrayList è:

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) Spiegare l'elenco collegato supportato da Java

Due tipi di elenchi collegati supportati da Java sono:

  • Elenco collegato singolarmente: l'elenco collegato singolarmente è un tipo di struttura dati. In un elenco collegato singolarmente, ogni nodo nell'elenco memorizza il contenuto del nodo e un riferimento o un puntatore al nodo successivo nell'elenco. Non memorizza alcun riferimento o puntatore al nodo precedente.
  • Elenchi concatenati doppiamente: gli elenchi concatenati doppiamente sono un tipo speciale di elenchi concatenati in cui l'attraversamento tra gli elementi di dati può essere effettuato in entrambe le direzioni. Ciò è reso possibile dalla presenza di due collegamenti in ogni nodo, uno che si collega al nodo successivo e un altro che si collega al nodo precedente.

23) Spiegare i metodi forniti dall'interfaccia Queue?

I metodi dell'interfaccia Java Queue sono:

Metodo Descrizione
booleano add (oggetto) Inserisce l'elemento specificato nella coda. Ritorna vero in caso di successo.
offerta booleana (oggetto) Questo metodo viene utilizzato per inserire l'elemento nella coda.
Object remove () Recupera e rimuove l'intestazione della coda.
Oggetto sondaggio () (): Recupera e rimuove l'intestazione della coda o restituisce null nel caso in cui sia vuoto.
Oggetto sondaggio () Recupera e rimuove l'intestazione della coda o restituisce null nel caso in cui sia vuoto.
Elemento oggetto () Recupera i dati dalla coda, ma non ne rimuove la testina.
Oggetto peek () Recupera i dati dalla coda ma non rimuove la sua testina, o nel caso in cui, se la coda è la coda è vuota, recupererà null.

24) Menziona i metodi forniti dalla classe Stack

I metodi importanti forniti dalla classe Stack sono:

  • push (): spinge l'elemento nella pila.
  • empty (): questo metodo rileva se lo stack è vuoto o meno.
  • pop (): questo metodo del framework di raccolta Java rimuove l'oggetto dallo stack.
  • search (): questo metodo cerca gli elementi nello stack.
  • peek (): questo metodo Java esamina l'oggetto stack senza rimuoverlo.

25) Definire emptySet () nel framework delle collezioni Java

Metodo emptySet () che restituisce il set immutabile vuoto ogni volta che i programmatori tentano di rimuovere elementi nulli. Il set restituito da emptySet () è serializzabile. La sintassi di questo metodo è:

public static final Set emptySet ()

26) Distinguere tra collezione e collezioni

Le differenze tra Collection e Collections sono:

Collezione Collezioni
La collezione è un'interfaccia. Le collezioni sono una classe.
Rappresenta un gruppo di oggetti come una singola entità. Definisce vari metodi di utilità per gli oggetti di raccolta.
La raccolta è l'interfaccia principale del framework Java Collection. Le collezioni è una classe di utilità generale.
Questa interfaccia viene utilizzata per derivare le strutture dei dati di raccolta. Questa classe contiene metodi statici per manipolare la struttura dei dati.

27) Definisci LinkedHashSet nel framework Java Collection?

LinkedHashSet è una sottoclasse della classe denominata HashSet e implementa l'interfaccia set. È una versione ben ordinata di HashSet che mantiene un elenco a doppio collegamento tra tutti gli elementi.

28) Qual è la differenza tra failfast e failsafe?

Failfast Failsafe
Non consente la modifica della raccolta durante l'iterazione. Consente la modifica della raccolta durante l'iterazione.
Può generare ConcurrentModificationException Non può generare eccezioni.
Usa la collezione originale per attraversare gli elementi. Usa una copia della collezione originale per attraversare gli elementi.
Non è richiesta memoria aggiuntiva. È necessaria una memoria aggiuntiva.

29) Elenca le viste della raccolta di un'interfaccia della mappa

Le viste della raccolta dell'interfaccia della mappa sono: 1) vista del set di chiavi, 2) vista del set di valori e 3) vista del set di voci.

30) Quali sono i vantaggi del Collection Framework in Java?

I vantaggi di Collection Framework in Java sono:

  • Il framework di raccolta Java offre strutture dati altamente efficienti ed efficaci che migliorano l'accuratezza e la velocità del programma.
  • Il programma sviluppato con il framework di raccolta Java è di facile manutenzione.
  • Uno sviluppatore può combinare classi con altri tipi che aumentano la riusabilità del codice.
  • Il framework della raccolta Java consente ai programmatori di modificare i tipi di raccolta primitiva nel modo che preferiscono.

31) Qual è un buon modo per ordinare gli oggetti Collection in Java?

Un buon modo per ordinare gli oggetti della raccolta Java è utilizzare le interfacce Comparable e Comparator. Uno sviluppatore può utilizzare Collections.sort (), gli elementi vengono ordinati in base alla menzione dell'ordine in compareTo ().

Quando uno sviluppatore utilizza Collections, sort (Comparator), ordina gli oggetti in base a compare () dell'interfaccia di Comparator.

32) Spiega Vector in Java

Il vettore è lo stesso di un array. Dispone di componenti a cui è possibile accedere utilizzando un valore di indice. I vettori possono contenere un metodo legacy che non fa parte del framework di raccolta.

33) Qual è la differenza tra Set e Map?

Impostato Carta geografica
Il set appartiene a package-java.util. La mappa appartiene a package- java.util.
Può estendere l'interfaccia di raccolta. Non estende l'interfaccia di raccolta.
Non consente valori duplicati. Consente valori duplicati.
Set può ordinare solo un valore nullo. La mappa può ordinare più valori null.

34) Definisci la classe del dizionario

La classe Dictionary è una classe Java che ha la capacità di memorizzare coppie chiave-valore.

35) Definisci EnumSet

java.util.EnumSet è l'implementazione Set che può essere utilizzata con i tipi enum. EnumSet con tutti gli elementi deve provenire da un tipo enum specificato in modo esplicito o implicito. Non è sincronizzato e anche le chiavi null non sono consentite. EnumSet fornisce metodi come EnumSetof (E first, E

… Rest), complementOf (EnumSet s) e copyOf (Collection c).

36) Quali sono i due modi per rimuovere i duplicati da ArrayList?

Due modi per rimuovere i duplicati da ArrayList sono:

  • HashSet: lo sviluppatore può utilizzare HashSet per rimuovere l'elemento duplicato da ArrayList. Lo svantaggio è che non è in grado di preservare l'ordine di inserzione.
  • LinkedHashSet: gli sviluppatori possono anche mantenere l'ordine di inserimento utilizzando LinkedHashSet invece di HashSet.

37) Cos'è IdentityHashMap?

IdentityHashMap è una classe che implementa interfacce Serializable, Clonable, Map ed estende la classe AbstractMap. È progettato per il caso in cui è necessaria la semantica dell'uguaglianza dei riferimenti.

38) Cos'è WeakHashMap?

WeakHashMap è un'implementazione di Java Map. Viene utilizzato per memorizzare riferimenti deboli alle sue chiavi. L'ordinamento tramite questa mappa consente la raccolta di una coppia chiave-valore come spazzatura. La sua chiave non è referenziata al di fuori di WeakHashMap.

39) Quali sono i metodi per rendere la raccolta thread-safe?

I metodi per rendere sicura la raccolta dei thread sono:

  • Collections.synchronizedList (elenco);
  • Collections.synchronizedMap (mappa);
  • Collections.synchronizedSet (set);

40) Spiegare UnsupportedOperationException

UnsupportedOperationException è un'eccezione che viene generata sui metodi che non sono supportati dal tipo di raccolta effettivo.

Ad esempio, lo sviluppatore sta creando un elenco di sola lettura utilizzando "Collections.unmodifiableList (list)" e chiamando il metodo call (), add () o remove (). Dovrebbe chiaramente generare un'eccezione UnsupportedOperationException.

41) Assegna un nome alle classi di raccolta che danno accesso casuale ai suoi elementi

Le classi Collection che danno accesso casuale agli elementi ai suoi elementi sono: 1) ArrayList, 2) HashMap, 3) TreeMap e 4) Hashtable.

42) Spiega la differenza tra Queue e Deque.

Coda Deque
Si chiama coda single-ended Si chiama coda a doppia estremità
Gli elementi nella coda vengono aggiunti o rimossi da un'estremità Gli elementi nella coda vengono aggiunti da entrambe le estremità possono essere aggiunti e rimossi da entrambe le estremità
È meno versatile. È più versatile.

43) Menzionare l'implementazione dell'interfaccia List e Set

Classe che implementa l'interfaccia List: 1) ArrayList, 2) Vector e 3) LinkedList.

Classe che implementa l'interfaccia Set: 1) HashSet e 2) TreeSet.

44) Spiegare il modello di progettazione seguito da Iterator

L'iteratore segue i dettagli del modello di progettazione dell'iteratore. Fornisce allo sviluppatore la possibilità di navigare attraverso le raccolte di oggetti utilizzando un'interfaccia comune senza conoscerne l'implementazione.

45) Qual è il peek () dell'interfaccia Queue?

Peek () è un metodo di interfaccia della coda. Recupera tutti gli elementi ma non rimuove l'intestazione della coda. Nel caso in cui la coda sia vuota, questo metodo restituirà null.

46) Cos'è CopyOnWriteArrayList?

CopyOnWriteArrayList è una variante di ArrayList in cui operazioni come add e set vengono implementate creando una copia dell'array. È un thread-safe e quindi non genera ConcurrentModificationException. Questo ArrayLists consente tutti gli elementi, incluso null.

47) Distinguere tra ArrayList e LinkedList

La differenza tra ArrayList e LinkedList è:

Lista di array Lista collegata
Utilizza un array dinamico. Utilizza un elenco a doppio collegamento.
ArrayList non è preferibile per la manipolazione. LinkedList è preferibile per la manipolazione.
ArrayList fornisce l'accesso casuale. LinkedList non fornisce l'accesso casuale.
ArrayList memorizza solo gli oggetti, quindi richiede meno overhead di memoria LinkedList memorizza sia l'oggetto che l'oggetto indirizzo; quindi, richiede più overhead di memoria.

48) Spiegare i metodi dell'interfaccia dell'iteratore

I metodi dell'interfaccia dell'iteratore sono:

Metodo Descrizione
public boolean hasNext () Restituisce true nell'iteratore ha elementi; in caso contrario, restituisce false.
public Object next () Questo metodo restituisce l'elemento e sposta il puntatore al valore successivo.
public void remove () Questo metodo Java può rimuovere gli ultimi elementi restituiti dall'iteratore. Public void remove () è meno utilizzato.

49) Quali sono i metodi della classe HashSet?

I metodi della classe HashSet sono:

Metodi Descrizione
booleano add (Object o) Questo metodo aggiunge l'elemento menzione a questo set se non è già presente.
booleano contiene (Oggetto o): Restituisce vero se il set contiene l'elemento specificato.
void clear (): Questo metodo rimuove gli elementi dell'insieme.
booleano isEmpty (): Restituisce vero nel caso, l'insieme non ha elementi.
booleano remove (Object o): Rimuove l'elemento specificato dal set.
oggetto clone (): Questo metodo restituisce una copia dell'istanza HashSet: gli elementi stessi non vengono clonati.
iteratore iteratore () Restituisce un iteratore sugli elementi in questo set.
int size (): Restituisce il numero di elementi disponibili nel set.

50) Quali sono i metodi della classe Java TreeSet?

I metodi della classe Java TreeSet sono:

Metodi Descrizioni
booleano addAll (Collezione c) Aggiungi tutti gli elementi nella raccolta specificata a questo set.
booleano contiene (Oggetto o) Restituisce vero se l'insieme contiene l'elemento menzione.
booleano isEmpty () Questo metodo Java restituisce true se questo set non contiene elementi.
booleano remove (Object o) Rimuove l'elemento specificato dal set.
void add (Object o) Aggiunge l'elemento specificato al set.
void clear () Questo metodo Java rimuove tutti gli elementi dal set.

51) Spiegare HashSet collegato

La classe Java LinkedHashSet è un'implementazione di un elenco collegato e di una tabella hash dell'interfaccia Set. Contiene elementi unici come un HashSet. HashSet collegato in Java fornisce anche operazioni di insiemi opzionali che possono mantenere l'ordine di inserimento.

52) Quali sono i metodi importanti utilizzati in un elenco collegato?

I metodi importanti utilizzati nell'elenco collegato sono:

Metodo Descrizione
booleano add (Object o) Viene utilizzato per aggiungere l'elemento specificato alla fine del vettore.
booleano contiene (Oggetto o) È un metodo che restituisce true se questo elenco contiene l'elemento specificato.
void add (int index, Object element) Inserisce l'elemento in corrispondenza dell'elemento specificato nel vettore.
void addFirst (Object o) Viene utilizzato per inserire l'elemento dato all'inizio.
void addLast (Object o) È usato per aggiungere l'elemento dato alla fine.
Dimensione int () Questo metodo può essere utilizzato per restituire il numero totale di elementi in un elenco.
booleano remove (Object o) Può rimuovere la prima occorrenza dell'elemento specificato da questo elenco.
int indexOf (elemento Object) Questo metodo Java restituisce l'indice con la prima occorrenza dell'elemento di menzione in questo elenco o -1.
int lastIndexOf (elemento Object) È un metodo Java che restituisce l'indice con l'ultima occorrenza dell'elemento specificato in questo elenco o -1.

53) Elenca le varie classi disponibili in set

Diverse classi disponibili nei set sono: HashSet, TreeSetand e LinkedHashSet.

54) Elenca i metodi disponibili nell'interfaccia Java Queue

  • booleano add (oggetto)
  • offerta booleana (oggetto)
  • oggetto remove ()
  • oggetto sondaggio ()
  • elemento oggetto ()
  • oggetto peek ()

55) Differenzia tra List e Set.

Elenco Impostato
Una raccolta ordinata di elementi Una raccolta disordinata di elementi
Conserva l'ordine di inserzione Non conserva l'ordine di inserzione
Sono consentiti valori duplicati Non sono consentiti valori duplicati
È possibile memorizzare un numero qualsiasi di valori nulli È possibile memorizzare un solo valore null
ListIterator può essere utilizzato per attraversare l'elenco in qualsiasi direzione ListIterator non può essere utilizzato per attraversare un Set
Contiene una classe legacy chiamata vettore Non contiene alcuna classe legacy

56) Spiegare per ogni ciclo con l'esempio

For-Each Loop è un'altra forma di ciclo for utilizzata per attraversare l'array. Riduce il codice in modo significativo e non viene utilizzato l'indice o piuttosto il contatore nel ciclo.

Esempio di per ogni ciclo:

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) Spiega l'operatore del diamante

L'operatore Diamond consente al compilatore di raccogliere gli argomenti di tipo della classe generica. In Java SE, lo sviluppatore può sostituire il costruttore parametrizzato con un set di parametri vuoto (<>) noto come operatore rombo.

58) Spiegare l'interfaccia di accesso casuale

L'interfaccia RandomAccess viene utilizzata dalle implementazioni di List per indicare che supportano velocemente.

59) Assegna un nome alle classi di raccolta che implementano l'interfaccia di accesso casuale

Il pacchetto Java.util ha classi che possono implementare l'interfaccia di accesso casuale sono: CopyOnWriteArrayList, Stack, ArrayList e Vector.

60) Come unirsi a più ArrayList?

L'elenco fornisce un metodo addall () più ArrayList in Java.

Ad esempio, considera due elenchi 1) areaList e 2) secondAreaList. Uno sviluppatore può unirsi a loro usando addall () come:

areaList.addAll (secondAreaList);

61) Spiegare l'interfaccia deque

Java.util.Deque è Java, un'interfaccia che estende l'interfaccia Queue. Fornisce supporto per l'inserimento e la cancellazione di elementi sia all'estremità. Questa coda è anche chiamata coda a doppia estremità.

62) Spiega Linkedhashmap

LinkedHashMap è l'implementazione dell'interfaccia Map. Può anche estendere la classe HashMap. Pertanto, come HashMap, LinkedHashMap consente agli sviluppatori Java di consentire una chiave null e più di un valore null.

63) Spiegare i metodi per rimuovere elementi da ArrayList

I metodi per rimuovere elementi da ArrayList sono:

Metodo Descrizione
chiaro() Questo metodo rimuove gli elementi da ArrayList.
rimuovere (int index) Questo metodo di ArrayList può rimuovere l'elemento in una particolare posizione.
rimuovi (Oggetto o) Può rimuovere la prima occorrenza dell'elemento di menzione da ArrayList.
Rimuovi tutto() Può rimuovere l'elenco di elementi che si trovano in una particolare raccolta.
removeIf (filtro predicato) Questo metodo rimuove gli elementi che soddisfano la menzione di un predicato.

64) Spiega la mappa. entrata nella mappa

Map.entry è un'interfaccia Java di java.util. Ha un'interfaccia nidificata in Map. Questa interfaccia deve essere qualificata dal nome della classe o dell'interfaccia, di cui è un membro. Pertanto è qualificato come Mappa. Iscrizione. Rappresenta una coppia chiave e valore che può formare un elemento di una mappa.

Questo metodo restituisce una visualizzazione della raccolta. Ad esempio, considera cityMap come una mappa. Lo sviluppatore può utilizzare entrySet () per ottenere la vista dell'insieme della mappa con un elemento Map.Entry. Il programmatore può anche utilizzare getKey () e getValue () di Map.Entry per ottenere la coppia di chiave e valore della mappa.

65) Quale metodo viene utilizzato per ordinare un array in ordine crescente?

Il metodo del framework di raccolta Java, Collections.sort () viene utilizzato per ordinare un array in ordine crescente.

66) Come misurare le prestazioni di un ArrayList?

Le prestazioni di ArrayList possono essere misurate da:

  • Aggiunta di un elemento: lo sviluppatore può aggiungere un elemento alla fine di ArrayList utilizzando il metodo add (E e). È O (1). Nello scenario peggiore, potrebbe andare a O (n). Ciò può accadere se lo sviluppatore aggiunge più elementi rispetto alla capacità dell'array.
  • Recupero di un elemento : - Lo sviluppatore può accedere all'indice dell'array utilizzando get (int index). Le prestazioni, in questo caso, possono essere misurate utilizzando ArrayList get () è O (1).
  • Rimozione di un elemento: Nel caso in cui, se gli sviluppatori stanno rimuovendo un elemento utilizzando il metodo remove (int index), le prestazioni di ArrayList possono essere calcolate utilizzando detta operazione di rimozione (int index) è il metodo O (n - index).

67) Spiegare la classe LinkedList

La classe LinkedList in Java implementa Deque e List utilizzando una lista doppiamente collegata. C'è un nodo di classe privata in un elenco a doppio collegamento che fornisce la sua struttura. Ha anche una variabile item per contenere il valore e il riferimento alla classe Node. Può essere utilizzato per collegare i nodi successivo e precedente.

68) Fornisci un esempio di Hashmap

L'esempio di Hashmap è:

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) Come iterare la mappa?

Lo sviluppatore non può iterare direttamente la mappa, ma questa interfaccia ha due metodi che forniscono un set di visualizzazione della mappa. Questi metodi sono:

  • Set > entrySet (): è un metodo che restituisce un set con le voci menzionate nella mappa. Queste voci sono generalmente obiettate, che ha il tipo Map. Iscrizione.
  • Set keySet (): questo metodo Java restituisce un set contenente la chiave della mappa.

70) Spiegare la mappa ad albero in Java

TreeMap è una classe che implementa l'interfaccia Map LinkedHashMap e HashMap. Può anche implementare l'interfaccia NavigableMap e può estendere la classe AbstractMap.

71) Qual è la differenza tra Hashmap e Hashtable?

Hashmap Hashtable
Non è sincronizzato. È sincronizzato.
HashMap consente una chiave come valore nullo. HashTable non consente valori null.
Iterator viene utilizzato per attraversare HashMap. O Iterator o Enumerator viene utilizzato per attraversare un HashTable.
Può essere utilizzato sia per HashTable, HashMap ed è veloce. Può essere utilizzato con HashTable ed è a prova di errore.
HashMap è più veloce di HashTable. Hashtable non è molto più veloce rispetto a HashMap.

72) Spiegare il funzionamento interno di HashSet in Java

HashSet in Java utilizza internamente HashMap per memorizzare gli elementi. Può anche memorizzare valori univoci senza valori duplicati.

In Java, lo sviluppatore HashSet può avere il metodo add (E e) che accetta solo l'elemento da aggiungere come parametro. Non accetta la coppia chiave e valore.

73) Spiega la notazione Big-O con un esempio

La notazione Big-O descrive le prestazioni di un algoritmo come il numero di elementi in ArrayList. Uno sviluppatore può utilizzare la notazione Big-O per scegliere l'implementazione della raccolta. Si basa su prestazioni, tempo e memoria.

Ad esempio, ArrayList get (index i) è un metodo per eseguire un'operazione a tempo costante. Non dipende dal numero totale di elementi disponibili nell'elenco. Pertanto, la performance nella notazione Big-O è O (1).

74) Spiegare le migliori pratiche in Java Collection Framework

Le migliori pratiche in Java Collection Framework sono:

  • La scelta del tipo corretto di raccolta dipende dalle necessità.
  • Evita di modificare o ridimensionare stimando il numero totale di elementi da memorizzare nelle classi di raccolta.
  • Scrivi un programma Java in termini di interfacce. Ciò aiuterà lo sviluppatore a modificare la sua implementazione senza sforzo in futuro.
  • Uno sviluppatore può utilizzare Generics per l'indipendenza dai tipi.
  • Utilizza classi immutabili fornite da Java Development Kit. Evita l'implementazione di equals () e hashCode () per le classi personalizzate.
  • Un programmatore dovrebbe utilizzare la classe di utilità Collections per gli algoritmi o per ottenere raccolte di sola lettura, sincronizzate o vuote. Ciò migliorerà la riusabilità del codice con una bassa manutenibilità.

75) Spiegare i vari tipi di code in Java

Esistono tre tipi di code in Java:

  • Coda prioritaria: è un tipo speciale di coda in cui gli elementi vengono ordinati in base al loro ordinamento naturale o al confronto personalizzato.
  • Coda circolare: è un tipo di coda in cui le operazioni dell'utente vengono eseguite in base al metodo FIFO. L'ultimo elemento è collegato alla prima posizione per formare un cerchio.
  • Coda a doppia estremità: una coda a doppia estremità è un tipo di dati astratto che generalizza una coda. Gli elementi in questa coda possono essere aggiunti o rimossi dalla testa o dalla coda.

76) Qual è la differenza tra stack e Queue?

Pila Coda
Il principio di funzionamento dello stack è LIFO. Il principale funzionamento della coda è FIFO.
Un'estremità viene utilizzata per eseguire l'inserimento o la cancellazione di elementi. Un'estremità viene utilizzata per eseguire l'inserimento e un'altra estremità viene utilizzata per l'eliminazione degli elementi.
Usa un puntatore. Utilizza due puntatori in una semplice coda.
Non ha alcun tipo di variante. Ha varianti come coda prioritaria, coda circolare, coda doppiamente terminata.
È facile da usare. Non è facile da usare.

77) Qual è la differenza tra array e stack?

La differenza tra array e stack è:

Vettore Pila
È una raccolta di elementi identificati dall'indice. È un'operazione di raccolta che funge da operazioni push e pop.
Ha elementi di tipi di dati che sono gli stessi. Ha elementi di tipi di dati diversi.
Gli elementi possono essere rimossi o aggiunti all'array utilizzando un'operazione di accesso casuale. Gli elementi possono essere rimossi o aggiunti in una pila utilizzando l'operazione LIFO.

78) Definisci iteratore ()

Iterator () è un'interfaccia che fornisce metodi per iterare Collection. Iterator può sostituire l'enumerazione in Java. Consente al chiamante di rimuovere elementi dalla raccolta. Il metodo fornisce un modo generico per l'attraversamento utilizzando gli elementi della raccolta e implementando il modello di progettazione dell'iteratore.

79) Quali sono i vari modi per scorrere un elenco?

Il programmatore Java Collection Framework può iterare su un elenco in due modi: 1) utilizzando l'iteratore e 2) utilizzandolo per ogni ciclo.

80) Quali sono i vantaggi dello stack?

I vantaggi dello stack sono:

  • Ti aiuta a gestire i dati in un metodo Last In First Out (LIFO), che non è possibile con l'elenco e l'array collegati.
  • Quando viene chiamata una funzione, le variabili locali vengono memorizzate in uno stack e vengono automaticamente distrutte una volta restituite.
  • Uno stack viene utilizzato quando una variabile non viene utilizzata al di fuori di tale funzione.
  • Consente di controllare la modalità di allocazione e deallocazione della memoria.
  • Stack pulisce automaticamente l'oggetto.
  • Non facilmente danneggiato
  • Le variabili non possono essere ridimensionate.