80 Java Collezioni Intervista Domande e risposte (2026)
Java Collezioni Interviste Domande e risposte per le matricole
1) In cosa consiste il framework Java?
Un framework รจ un'architettura diffusa e giร pronta che contiene un set di classi e interfacce.
2) In cosa consiste il framework Collection Java?
Collection Framework รจ un gruppoping di classi e interfacce utilizzate per memorizzare e gestire gli oggetti. Fornisce varie classi come Vector, ArrayList, HashSet, Stack, ecc. Java Il framework di raccolta puรฒ essere utilizzato anche per interfacce come Queue, Set, List, ecc.
3) Spiegare la classe Collezioni
java.util.Collections รจ una classe composta da metodi statici che operano su raccolte. Contiene algoritmi polimorfici per operare su collezioni, โwrapperโ. Questa classe contiene metodi per algoritmi, come l'ordinamento binario, la ricerca, il mescolamento, ecc.
4) Cos'รจ l'hashCode()?
L'hashishCode() รจ un metodo che restituisce un codice hash intero.
5) Distinguere tra ArrayList e Vector nel file Java quadro di raccolta.
| Lista di array | Vettoriale (Vector) |
|---|---|
| ArrayList non puรฒ essere sincronizzato. | Il vettore puรฒ essere sincronizzato. |
| Non รจ una classe legacy. | ร una classe legacy. |
| Puรฒ aumentare le sue dimensioni del 50% rispetto alla dimensione dell'array. | Puรฒ aumentare le sue dimensioni raddoppiando la dimensione dell'array. |
| ArrayList non รจ thread-safe. | Vector รจ un thread-safe. |
6) In cosa consiste ArrayList Java?
Lista di array รจ una struttura dati che puรฒ essere estesa per accogliere elementi aggiuntivi al suo interno e ridursi a dimensioni piรน piccole quando gli elementi vengono rimossi. ร una struttura dati molto importante utile per gestire il comportamento dinamico degli elementi.
7) Distinguere tra Iterator e ListIterator
La differenza tra Iterator e ListIterator รจ:
| Iteratore | ListIterator |
|---|---|
| L'Iterator 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 Coda, Elenco 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 Enumerazione?
La differenza tra Iterator ed Enumerazione
| Iteratore | Enumerazione |
|---|---|
| L'Iterator puรฒ attraversare sia elementi legacy che non legacy. | L'enumerazione puรฒ attraversare solo elementi legacy. |
| L'Iterator รจ fail-fast. | L'enumerazione non รจ fail-fast. |
| L'Iterator รจ molto lento rispetto all'Enumerazione. | L'enumerazione รจ veloce rispetto a Iterator. |
| L'Iterator puรฒ eseguire l'operazione di rimozione mentre attraversa la raccolta. | L'enumerazione puรฒ eseguire solo operazioni di attraversamento della raccolta. |
9) Definire BlockingQueue
BlockingQueue รจ un'interfaccia utilizzata in Java che puรฒ estendere la coda. Fornisce concorrenza in varie operazioni di coda come recupero, inserimento, eliminazione, ecc.
La coda attende di diventare non vuota al momento del recupero di qualsiasi elemento. BlockingQueue non deve contenere elementi null. L'implementazione di questa coda รจ thread-safe.
La sintassi di BlockingQueue รจ:
public interface BlockingQueue<E> extends Queue <E>
10) Spiegare il metodo override equals()
Il metodo equals 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 Comparabile e Comparatore?
La differenza tra comparabile e comparatore รจ:
| paragonabile | Comparatore |
|---|---|
| Comparable fornisce il metodo compareTo() per ordinare gli elementi Java. | Il comparatore fornisce il metodo compare() per ordinare gli elementi Java. |
| Un'interfaccia comparabile รจ presente nel pacchetto java.lang. | L'interfaccia del comparatore รจ presente in Java. pacchetto di utilitร . |
| La logica dell'ordinamento deve trovarsi nella stessa classe di cui si intende ordinare l'oggetto. | La logica dell'ordinamento dovrebbe essere in una classe separata per scrivere ordinamenti diversi 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 vuoi ordinare gli oggetti non ha bisogno di implementare un'interfaccia di comparazione. |
| Fornisce singole sequenze di ordinamento. | Fornisce piรน sequenze di ordinamento. |
| Questo metodo puรฒ ordinare i dati secondo l'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 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 passato come argomento oppure no.
La sintassi del metodo equals() รจ:
public boolean equals(Object o)
Questo metodo accetta due parametri 1) qualsiasi oggetto, 2) valore restituito. Restituisce vero se l'argomento passato non รจ null ed รจ un oggetto di tipo simile avente 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) Elencare i vantaggi della raccolta generica
I vantaggi derivanti dall'utilizzo della raccolta generica sono:
- Se i programmatori utilizzano una classe generica, non richiedono il typecasting.
- ร indipendente dai tipi e puรฒ essere controllato al momento della compilazione.
- Fornisce la stabilitร del codice rilevando i 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 Arrays. ร un metodo statico della classe Arrays che accetta l'oggetto List. La sintassi del metodo asList() รจ:
Arrays.asList(item)
Java i programmatori 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 ArrayList
ArrayList<String> arlTest = new ArrayList<String>();
//Size of arrayList
System.out.println("Size of ArrayList at creation: " + arlTest.size());
//Lets add some elements to it
arlTest.add("D");
arlTest.add("U");
arlTest.add("K");
arlTest.add("E");
//Recheck the size after adding elements
System.out.println("Size of ArrayList after adding elements: " + arlTest.size());
//Display all contents of ArrayList
System.out.println("List of all elements: " + arlTest);
//Remove some elements from the list
arlTest.remove("D");
System.out.println("See contents after removing one element: " + arlTest);
//Remove element by index
arlTest.remove(2);
System.out.println("See contents after removing element by index: " + arlTest);
//Check size after removing elements
System.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 decrescente
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 sort
System.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 di Java quadro delle collezioni
Java il framework della raccolta รจ una radice della gerarchia della raccolta. Rappresenta un gruppo di oggetti come suoi elementi. IL Java il linguaggio di programmazione non fornisce un'implementazione diretta di tale interfaccia.
- Set: Set รจ una raccolta che non ha elementi duplicati. Utilizza la tabella hash per memorizzare gli elementi.
- Lista: List รจ una raccolta ordinata che puรฒ contenere elementi duplicati. Consente agli sviluppatori di accedere a qualsiasi elemento dalla sua posta in arrivo. L'elenco รจ come un array con una lunghezza dinamica.
- CARTA GEOGRAFICA: ร un oggetto che mappa le chiavi sui valori. Non puรฒ contenere chiavi duplicate. Ciascuna chiave puรฒ essere mappata su almeno un valore.
18) Quali sono le caratteristiche di Java Mappa hash?
Caratteristiche principali dell'app Java Mappa hash siamo:
- I valori possono essere archiviati in una mappa formando una coppia chiave-valore. Il valore puรฒ essere recuperato utilizzando la chiave passandola al metodo corretto.
- Se non esiste alcun elemento nella mappa, verrร generata una "NoSuchElementException".
- HashMap memorizza solo riferimenti a oggetti. Ecco perchรฉ รจ impossibile usare tipi di dati primitivi come double o int. Usa una classe wrapper (come Integer o Double) anzichรฉ.
19) Cos'รจ una pila?
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 dati che puรฒ memorizzare una raccolta di elementi. In altre parole, gli elenchi concatenati possono essere utilizzati per memorizzare piรน oggetti dello stesso tipo. Ogni unitร o elemento della lista viene definito nodo. Un nodo nell'elenco Collegato ha i suoi dati e l'indirizzo del nodo successivo. ร come una catena. Le liste collegate vengono utilizzate per creare grafici e alberi.
Java Collezioni Interviste Domande e risposte per esperti
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 ArrayList
ArrayList<String> arlTest = new ArrayList<String>();
//Size of arrayList
System.out.println("Size of ArrayList at creation: " + arlTest.size());
//Lets add some elements to it
arlTest.add("D");
arlTest.add("U");
arlTest.add("K");
arlTest.add("E");
//Recheck the size after adding elements
System.out.println("Size of ArrayList after adding elements: " + arlTest.size());
//Display all contents of ArrayList
System.out.println("List of all elements: " + arlTest);
//Remove some elements from the list
arlTest.remove("D");
System.out.println("See contents after removing one element: " + arlTest);
//Remove element by index
arlTest.remove(2);
System.out.println("See contents after removing element by index: " + arlTest);
//Check size after removing elements
System.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 siamo:
- Elenco collegato singolarmente: L'elenco collegato singolarmente รจ un tipo di struttura dati. In un elenco collegato singolarmente, ciascun nodo dell'elenco memorizza il contenuto del nodo e un riferimento o puntatore al nodo successivo nell'elenco. Non memorizza alcun riferimento o puntatore al nodo precedente.
- Elenchi doppiamente collegati: Gli elenchi doppiamente collegati sono un tipo speciale di elenco collegato in cui l'attraversamento degli 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?
Metodi di Java Le interfacce della coda sono:
| Metodo | Descrizione |
|---|---|
| aggiunta booleana(oggetto) | Inserisce l'elemento specificato nella Queue. Restituisce vero nel caso in cui abbia successo. |
| offerta booleana(oggetto) | Questo metodo viene utilizzato per inserire l'elemento nella Queue. |
| Rimuovi oggetto() | Recupera e rimuove l'intestazione della coda. |
| Sondaggio oggetto() | โ Recupera e rimuove l'intestazione della coda o restituisce null nel caso in cui sia vuota. |
| Sondaggio oggetto() | Recupera e rimuove l'intestazione della coda o restituisce null nel caso in cui sia vuota. |
| Elemento oggetto() | Recupera i dati dalla coda, ma non ne rimuove la testa. |
| Sbirciatina dell'oggetto() | Recupera i dati dalla Queue ma non ne rimuove la testa o, nel caso, se la Queue รจ vuota, recupererร null. |
24) Menzionare i metodi forniti dalla classe Stack
I metodi importanti forniti dalla classe Stack sono:
- spingere(): Spingi l'oggetto nella pila.
- vuoto (): Questo metodo rileva se lo stack รจ vuoto o meno.
- pop(): Questo Java Il metodo del framework di raccolta rimuove l'oggetto dallo stack.
- ricerca (): Questo metodo cerca gli elementi nello stack.
- sbirciare (): Questo Java Il metodo esamina l'oggetto stack senza rimuoverlo.
25) Definire emptySet() nel file Java quadro delle collezioni
Metodo emptySet() che restituisce il set immutabile vuoto ogni volta che i programmatori tentano di rimuovere elementi null. Il set restituito da emptySet() รจ serializzabile. La sintassi di questo metodo รจ:
finale pubblica statica Impostato set vuoto()
26) Distinguere tra Collezione e Collezioni
La differenza tra Collezione e Collezioni รจ:
| Collezione | Collezioni |
|---|---|
| La raccolta รจ un'interfaccia. | Le raccolte sono una classe. |
| Rappresenta un gruppo di oggetti come una singola entitร . | Definisce vari metodi di utilitร per gli oggetti della raccolta. |
| La raccolta รจ l'interfaccia root del file Java Quadro della raccolta. | Collections รจ una classe di utilitร generale. |
| Questa interfaccia viene utilizzata per derivare le strutture dati della raccolta. | Questa classe contiene metodi statici per manipolare la struttura dei dati. |
27) Definire LinkedHashSet nel file Java Quadro di raccolta?
LinkedHashSet รจ una sottoclasse della classe chiamata HashSet e implementa l'interfaccia set. ร una versione ben ordinata di HashSet che mantiene un elenco doppiamente collegato tra tutti i suoi elementi.
28) Qual รจ la differenza tra failfast e failsafe?
| Infallibile | Failsafe |
|---|---|
| Non consente la modifica della raccolta durante l'iterazione. | Consente la modifica della raccolta durante l'iterazione. |
| Puรฒ lanciare ConcurrentModificationException | Non puรฒ generare alcuna eccezione. |
| Utilizza la collezione originale per attraversare gli elementi. | Utilizza una copia originale della raccolta per attraversare gli elementi. |
| Non รจ richiesta memoria aggiuntiva. | ร necessaria una memoria aggiuntiva. |
29) Elenca le visualizzazioni della raccolta di un'interfaccia di mappa
Le visualizzazioni della raccolta dell'interfaccia della mappa sono: 1) visualizzazione dell'insieme di chiavi, 2) visualizzazione dell'insieme di valori e 3) visualizzazione dell'insieme di voci.
30) Quali sono i vantaggi del Collection Framework in Java?
I vantaggi di Collection Framework in Java siamo:
- Java il framework di raccolta offre strutture dati altamente efficienti ed efficaci che migliorano la precisione e la velocitร del programma.
- Il programma sviluppato con Java il quadro della raccolta รจ facile da mantenere.
- Uno sviluppatore puรฒ combinare classi con altri tipi che aumentano la riusabilitร del codice.
- Migliori Java il framework di raccolta consente ai programmatori di modificare i tipi di raccolta primitivi nel modo che preferiscono.
31) Qual รจ un buon modo per ordinare gli oggetti della Collezione Java?
Un buon modo per ordinare Java gli oggetti della raccolta utilizzano le interfacce Comparable e Comparator. Uno sviluppatore puรฒ utilizzare Collections.sort(), gli elementi vengono ordinati in base all'ordine menzionato in compareTo().
Quando uno sviluppatore utilizza Collections, sort (Comparator), ordina gli oggetti in base a compare() dell'interfaccia Comparator.
32) Spiega Vector in Java
Il vettore รจ uguale a 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 della raccolta.
33) Qual รจ la differenza tra Set e Mappa?
| Impostato | Mappa |
|---|---|
| Il set appartiene al pacchetto-java.util. | La mappa appartiene al pacchetto 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 nulli. |
34) Definire la classe del dizionario
La classe Dictionary รจ a Java classe che ha la capacitร di memorizzare coppie chiave-valore.
35) Definire EnumSet
java.util.EnumSet รจ un'implementazione di 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 inoltre non sono consentite chiavi nulle. 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:
- Set hash: Lo sviluppatore puรฒ utilizzare HashSet per rimuovere l'elemento duplicato da ArrayList. Lo svantaggio รจ che non puรฒ preservare l'ordine di inserimento.
- LinkedHashSet: Gli sviluppatori possono anche mantenere l'ordine di inserimento utilizzando LinkedHashSet anzichรฉ HashSet.
37) Cos'รจ IdentityHashMap?
IdentityHashMap รจ una classe che implementa le interfacce Serializable, Clonable, Map ed estende AbstracClasse tMap. ร progettata per i casi in cui รจ necessaria una semantica di uguaglianza per riferimento.
38) Cos'รจ WeakHashMap?
WeakHashMap รจ un'implementazione di Java Mappa. Viene utilizzato per memorizzare riferimenti deboli alle sue chiavi. L'ordinamento utilizzando questa mappa consente che una coppia chiave-valore venga raccolta come spazzatura. La sua chiave non viene referenziata all'esterno di WeakHashMap.
39) Quali sono i metodi per rendere la raccolta thread-safe?
I metodi per rendere sicuro il thread di raccolta sono:
- Collezioni.synchronizedList(elenco);
- Collezioni.synchronizedMap(mappa);
- Collezioni.synchronizedSet(set);
40) Spiegare Non supportatoOperationException
Non supportatoOperationException รจ un'eccezione che viene generata su metodi che non sono supportati dal tipo di raccolta effettivo.
Ad esempio, lo sviluppatore sta creando un elenco di sola lettura utilizzando "Collections.unmodifyingList(list)" e chiamando il metodo call(), add() oremove(). Dovrebbe chiaramente lanciare UnsupportedOperationException.
41) Assegna un nome alle classi di raccolta che danno accesso casuale agli elementi ai suoi elementi
Le classi di raccolta che forniscono accesso casuale ai suoi elementi sono: 1) ArrayList, 2) HashMap, 3) TreeMap e 4) Hashtable.
42) Spiegare la differenza tra Queue e Deque.
| Fare la coda | deque |
|---|---|
| Si chiama coda a terminazione singola | Si chiama coda a doppia estremitร |
| Gli elementi nella coda vengono aggiunti o rimossi da un'estremitร | Gli elementi nella coda 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 and Set
Classe che implementa l'interfaccia Elenco: 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. Consente allo sviluppatore di navigare attraverso le raccolte di oggetti utilizzando un'interfaccia comune senza conoscerne l'implementazione.
45) Cos'รจ 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 doppiamente collegato. |
| ArrayList non รจ preferibile per la manipolazione. | LinkedList รจ preferibile per la manipolazione. |
| ArrayList fornisce accesso casuale. | LinkedList non fornisce accesso casuale. |
| ArrayList memorizza solo oggetti, quindi richiede meno sovraccarico di memoria | LinkedList memorizza oggetti e oggetti indirizzo; quindi, richiede piรน sovraccarico di memoria. |
48) Spiegare i metodi di interfaccia dell'iteratore
I metodi di interfaccia dell'iteratore sono:
| Metodo | Descrizione |
|---|---|
| booleano pubblico hasNext() | Restituisce true se l'iteratore ha elementi; in caso contrario, restituisce false. |
| Oggetto pubblico next() | Questo metodo restituisce l'elemento e sposta il puntatore al valore successivo. |
| rimozione vuoto pubblico() | Questo 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 |
|---|---|
| aggiunta booleana(Oggetto o) | Questo metodo aggiunge l'elemento menzione a questo set se non รจ giร presente. |
| booleano contiene(Oggetto o): | Restituisce vero se l'insieme contiene l'elemento specificato. |
| vuoto chiaro(): | Questo metodo rimuove gli elementi impostati. |
| booleano รจVuoto(): | Restituisce vero nel caso in cui l'insieme non abbia elementi. |
| rimozione booleana(Oggetto o): | Rimuove l'elemento specificato dal set. |
| clone oggetto(): | Questo metodo restituisce una copia dell'istanza HashSet: gli elementi stessi non vengono clonati. |
| iteratore iteratore() | Restituisce un iteratore sugli elementi di questo set. |
| dimensione intera(): | Restituisce il numero di elementi disponibili nell'insieme. |
50) Quali sono i metodi di Java Classe TreeSet?
I metodi di Java Le classi TreeSet sono:
| Metodi | Descriptioni |
|---|---|
| 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 รจ vuoto() | Questo Java Il metodo restituisce true se questo insieme non contiene elementi. |
| rimozione booleana(Oggetto o) | Rimuove l'elemento specificato dal set. |
| vuoto aggiungi(Oggetto o) | Aggiunge l'elemento specificato al set. |
| vuoto chiaro() | Questo Java Il metodo rimuove tutti gli elementi dal set. |
51) Spiegare HashSet collegato
Java La classe LinkedHashSet รจ un elenco collegato e un'implementazione della tabella Hash dell'interfaccia Set. Contiene elementi univoci uguali a HashSet. Hash collegato inserito Java fornisce anche operazioni di set opzionali che possono mantenere l'ordine di inserimento.
52) Quali sono i metodi importanti utilizzati in una lista collegata?
I metodi importanti utilizzati nell'elenco collegato sono:
| Metodo | Descrizione |
|---|---|
| aggiunta booleana (Oggetto o) | Viene utilizzato per aggiungere l'elemento specificato alla fine del vettore. |
| booleano contiene(Oggetto o) | ร un metodo che restituisce true se questa lista contiene l'elemento specificato. |
| void add (indice int, elemento Object) | Inserisce l'elemento nell'elemento specificato nel vettore. |
| void addFirst(Oggetto o) | Si usa per inserire all'inizio l'elemento dato. |
| void aggiungiUltimo(Oggetto o) | Viene utilizzato per aggiungere l'elemento specificato alla fine. |
| Dimensione intera() | Questo metodo puรฒ essere utilizzato per restituire il numero totale di elementi in un elenco. |
| rimozione booleana(Oggetto o) | Puรฒ rimuovere la prima occorrenza dell'elemento specificato da questo elenco. |
| int indiceOf(elemento oggetto) | Questo Java restituisce l'indice con la prima occorrenza dell'elemento menzione in questo elenco, oppure -1. |
| int lastIndexOf(Elemento oggetto) | ร una Java metodo che restituisce l'indice con l'ultima occorrenza dell'elemento specificato in questo elenco o -1. |
53) Elenca le varie classi disponibili in set
Varie classi disponibili nei set sono: HashSet, TreeSetand e LinkedHashSet.
54) Elenco dei metodi disponibili in Java Interfaccia della coda
- aggiunta booleana(oggetto)
- offerta booleana(oggetto)
- rimozione oggetto()
- sondaggio sugli oggetti()
- elemento oggetto()
- sbirciatina dell'oggetto()
55) Distinguere tra Lista e Set.
| Lista | Impostato |
|---|---|
| Una raccolta ordinata di elementi | Una raccolta non ordinata di elementi |
| Conserva l'ordine di inserimento | Non preserva l'ordine di inserimento |
| Sono consentiti valori duplicati | Non sono consentiti valori duplicati |
| ร possibile memorizzare un numero qualsiasi di valori nulli | ร possibile memorizzare solo un valore nullo |
| ListIterator puรฒ essere utilizzato per attraversare la List in qualsiasi direzione | ListIterator non puรฒ essere utilizzato per attraversare un Set |
| Contiene una classe legacy chiamata vettore | Non contiene alcuna classe legacy |
Java Collezioni Interviste Domande e risposte per oltre 5 anni di esperienza
56) Spiegare ogni ciclo con un esempio
For-Each Loop รจ un'altra forma di ciclo for utilizzata per attraversare l'array. Riduce significativamente il codice e non viene utilizzato l'indice o meglio 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 loop
System.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 loop
for (String strTemp : arrData){
System.out.println(strTemp);
}
}
}
57) Spiegare l'operatore 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 parametrico con un set di parametri vuoto (<>), noto come operatore diamante.
58) Spiegare l'interfaccia ad accesso casuale
L'interfaccia RandomAccess viene utilizzata dalle implementazioni List per indicare che supportano velocemente.
59) Nominare le classi di raccolta che implementano l'interfaccia di accesso casuale
JavaIl pacchetto .util dispone di classi che possono implementare l'interfaccia ad accesso casuale: CopyOnWriteArrayList, Stack, ArrayList e Vector.
60) Come unire piรน ArrayList?
L'elenco fornisce un metodo addall() con piรน ArrayList in Java.
Ad esempio, considera due elenchi 1) areaList e 2) secondAreaList. Uno sviluppatore puรฒ unirsi a loro utilizzando 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 l'eliminazione di elementi in entrambe le estremitร . Questa Queue รจ 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 abilita Java agli sviluppatori di consentire una chiave nulla e piรน di un valore nullo.
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. |
| rimuovi(indice int) | Questo metodo di ArrayList puรฒ rimuovere l'elemento in una posizione particolare. |
| rimuovi(Oggetto o) | Puรฒ rimuovere la prima occorrenza dell'elemento menzione dall'ArrayList. |
| Rimuovi tutto() | Puรฒ rimuovere l'elenco degli elementi presenti in una particolare raccolta. |
| rimuoviSe(Predicato filtro) | Questo metodo rimuove gli elementi che soddisfano la menzione di un predicato. |
64) Spiega la mappa. voce nella mappa
Map.entry รจ un file Java interfaccia di java.util. Ha un'interfaccia annidata in Map. Questa interfaccia deve essere qualificata dal nome della classe o dell'interfaccia di cui รจ membro. Pertanto รจ qualificata come Map. Entry. Rappresenta una coppia chiave-valore che puรฒ formare un elemento di una Map.
Questo metodo restituisce una visualizzazione della raccolta. Ad esempio, considera cityMap come una mappa. Lo sviluppatore puรฒ utilizzare entrySet() per ottenere la vista impostata della mappa avente 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?
Java metodo del framework di raccolta, 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รฒ verificarsi 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 indice). Le prestazioni, in questo caso, possono essere misurate utilizzando ArrayList get() is O(1).
- Rimuovere un elemento: Nel caso in cui, se gli sviluppatori rimuovono l'elemento utilizzando il metodo Remove(int Index), le prestazioni di ArrayList possono essere calcolate utilizzando il metodo Remove(int Index) con il metodo O(n โ Index).
67) Spiegare la classe LinkedList
Classe LinkedList in Java implementa Deque e List usando una lista concatenata doppia. C'รจ un nodo di classe privato in una lista concatenata doppia che fornisce la sua struttura. Ha anche una variabile item per contenere il valore e il riferimento alla classe Node. Questo puรฒ essere usato per connettere i nodi successivi e precedenti.
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<String, String> objMap = new HashMap<String, String>();
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 dispone di due metodi che forniscono un set di visualizzazioni della mappa. Questi metodi sono:
- Impostato >Set di voci(): ร un metodo che restituisce un set avente le voci menzionate nella mappa. Queste voci sono generalmente oggetto di oggetti, che hanno tipo Map. Iscrizione.
- Impostato mazzo di chiavi(): Questo Java restituisce un set che ha la chiave della mappa.
70) Spiega la mappa ad albero Java
TreeMap รจ una classe che implementa l'interfaccia Map, LinkedHashMap e HashMap. Puรฒ anche implementare l'interfaccia NavigableMap e puรฒ estendere AbstracClasse tMap.
71) Qual รจ la differenza tra Hashmap e Hashtable?
| Mappa hash | tabella hash |
|---|---|
| Non รจ sincronizzato. | ร sincronizzato. |
| Mappa hash consente una chiave come valore nullo. | HashTable non consente valori null. |
| Iterator viene utilizzato per attraversare HashMap. | Per attraversare una HashTable viene utilizzato Iterator o Enumerator. |
| Puรฒ essere utilizzato sia per HashTable, HashMap ed รจ fail-fast. | Puรฒ essere utilizzato con HashTable ed รจ a prova di errore. |
| HashMap funziona piรน velocemente di HashTable. | Hashtable non รจ molto piรน veloce rispetto a HashMap. |
72) Spiegare il funzionamento interno di HashSet in Java
HashInserito 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-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 prestazione nella notazione Big-O รจ O(1).
74) Spiegare le migliori pratiche in Java Quadro di raccolta
Le migliori pratiche in Java I framework della raccolta sono:
- La scelta della corretta tipologia di ritiro dipende dalla necessitร .
- Evitare il rehashing o il ridimensionamento stimando il numero totale di elementi da archiviare nelle classi di raccolta.
- Scrivi a Java programma in termini di interfacce. Ciรฒ aiuterร lo sviluppatore a modificarne l'implementazione senza sforzo in futuro.
- Uno sviluppatore puรฒ utilizzare Generics per l'indipendenza dai tipi.
- Utilizza le classi immutabili fornite da Java Kit di sviluppo. Evitare l'implementazione di equals() e hashCode() per classi personalizzate.
- Un programmatore dovrebbe usare la classe di utilitร Collections per gli algoritmi o per ottenere collezioni di sola lettura, sincronizzate o vuote. Ciรฒ migliorerร la riutilizzabilitร del codice con una bassa manutenibilitร .
75) Spiegare i vari tipi di code Java
Ci sono tre tipi di code in entrata Java:
- Coda prioritaria: Si tratta di un tipo speciale di coda in cui gli elementi vengono ordinati secondo il loro ordinamento naturale o comparatore 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 in modo da formare un cerchio.
- Double-Coda terminata: Una coda a doppia estremitร รจ un assolutotracTipo di dati che generalizza una coda. Gli elementi di questa coda possono essere aggiunti o rimossi sia dalla testa che dalla coda.
76) Qual รจ la differenza tra stack e coda?
| pila | Fare la coda |
|---|---|
| Il principio di funzionamento dello stack รจ LIFO. | Il funzionamento principale della coda รจ FIFO. |
| Un'estremitร viene utilizzata per eseguire l'inserimento o l'eliminazione di elementi. | Un'estremitร viene utilizzata per eseguire l'inserimento e un'altra estremitร viene utilizzata per eliminare gli elementi. |
| Utilizza un puntatore. | Utilizza due puntatori in una coda semplice. |
| 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 รจ:
| Italia | 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 che sono diversi. |
| Gli elementi possono essere rimossi o aggiunti all'array utilizzando l'operazione di accesso casuale. | Gli elementi possono essere rimossi o aggiunti in uno stack utilizzando l'operazione LIFO. |
78) Definisci Iteratore()
Iterator() รจ un'interfaccia che fornisce metodi per iterare Collection. Iterator puรฒ prendere il posto di Enumeration in Java. Consente al chiamante di rimuovere elementi dalla raccolta. Il metodo fornisce un modo generico per la traversata utilizzando elementi della raccolta e implementando il pattern di progettazione dell'iteratore.
79) Quali sono i vari modi per scorrere un elenco?
Java Il programmatore del framework di raccolta puรฒ scorrere un elenco in due modi: 1) utilizzando iteratore e 2) utilizzandolo per ciascuno loop.
80) Quali sono i vantaggi dello stack?
I vantaggi dello stack sono:
- Ti aiuta a gestire i dati in un metodo LIFO (Last In First Out), che non รจ possibile con l'elenco e l'array collegati.
- Quando viene chiamata una funzione, le variabili locali vengono archiviate in uno stack e una volta restituita viene automaticamente distrutta.
- Uno stack viene utilizzato quando una variabile non viene utilizzata al di fuori di quella funzione.
- Ti consente di controllare il modo in cui la memoria viene allocata e deallocata.
- Stack ripulisce automaticamente l'oggetto.
- Non facilmente corrotto
- Variabili non puรฒ essere ridimensionato.
Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)


