80 Java Întrebări și răspunsuri la interviu pentru colecții (2025)

Aici sunt Java Întrebări de interviu pentru colecții pentru candidații mai proaspeți, precum și cu experiență, pentru a obține locul de muncă visat.

 

Java Colecții Interviu Întrebări și Răspunsuri pentru Freshers

1) În ce este cadrul Java?

Un cadru este o arhitectură populară și gata făcută care conține un set de clase și interfețe.


2) În ce este cadrul de colectare Java?

Collection Framework este o grupare de clase și interfețe care este folosită pentru a stoca și gestiona obiectele. Oferă diverse clase precum Vector, ArrayList, HashSet, Stack etc. Java Cadrul de colectare poate fi folosit și pentru interfețe precum Queue, Set, List etc.

Java Întrebări de interviu pentru colecții


3) Explicați Clasa Colecțiilor

java.util.Collections este o clasă formată din metode statice care operează pe colecții. Conține algoritmi polimorfi pentru a opera colecții, „învelișuri”. Această clasă conține metode pentru algoritmi, cum ar fi sortarea binară, căutarea, amestecarea etc.


4) Ce este hashCode()?

HashCode() este o metodă care returnează un cod hash întreg.


5) Distingeți între ArrayList și Vector în Java cadru de colectare.

ArrayList Vector
ArrayList nu poate fi sincronizat. Vectorul poate fi este sincronizat.
Nu este o clasă moștenită. Este o clasă moștenită.
Își poate crește dimensiunea cu 50% din dimensiunea matricei. Își poate crește dimensiunea dublând dimensiunea matricei.
ArrayList nu este sigură pentru fire. Vector este sigur pentru fire.

6) În ce este ArrayList Java?

ArrayList este o structură de date care poate fi extinsă pentru a găzdui elemente suplimentare în interiorul ei și se micșorează la o dimensiune mai mică atunci când elementele sunt îndepărtate. Este o structură de date foarte importantă, utilă în gestionarea comportamentului dinamic al elementelor.


7) Faceți diferența între Iterator și ListIterator

Diferența dintre Iterator și ListIterator este:

iteratoare ListIterator
Iteratorul poate traversa elementele matricei în direcția înainte. ListIterator poate traversa elementele matricei în direcții înapoi, precum și înainte.
Poate fi folosit în coadă, listă și set. Poate fi folosit în Listă.
Poate efectua doar operația de eliminare. Poate efectua operații de adăugare, eliminare și setare în timp ce parcurge colecția.

8) Care este diferența dintre Iterator și Enumerare?

Diferența dintre Iterator și Enumerare

iteratoare Enumerare
Iteratorul poate traversa atât elementele moștenite, cât și elementele nelegate. Enumerarea poate traversa doar elementele moștenite.
Iteratorul este rapid. Enumerarea nu este rapidă.
Iteratorul este foarte lent în comparație cu enumerarea. Enumerarea este rapidă în comparație cu Iterator.
Iteratorul poate efectua operația de eliminare în timp ce parcurge colecția. Enumerarea poate efectua numai operații de traversare pe colecție.

9) Definiți BlockingQueue

BlockingQueue este o interfață folosită în Java care poate extinde coada. Oferă concurență în diverse operațiuni de coadă, cum ar fi extragerea, inserarea, ștergerea etc.

Coada așteaptă să devină negoală în momentul preluării oricăror elemente. BlockingQueue nu trebuie să conțină elemente nule. Implementarea acestei cozi este sigură pentru fire.

Sintaxa BlockingQueue este:

public interface BlockingQueue<E> extends Queue <E>

10) Explicați metoda override equals().

Metoda egal este folosită pentru a verifica asemănarea dintre două obiecte. În cazul în care programatorul dorește să verifice un obiect pe baza proprietății, atunci acesta trebuie să fie suprascris.


11) Care este diferența dintre Comparabil și Comparator?

Diferența dintre comparabil și comparator este:

Comparabil Comparator
Comparabil oferă metoda compareTo() pentru sortarea elementelor Java. Comparatorul oferă metoda compare() pentru sortarea elementelor Java.
Interfața comparabilă este prezentă în pachetul java.lang. Interfața de comparație este prezentă în java. pachet util.
Logica sortării trebuie să fie în aceeași clasă al cărei obiect urmează să-l sortați. Logica sortării ar trebui să fie într-o clasă separată pentru a scrie diferite sortări bazate pe diferite atribute ale obiectelor.
Clasa ale cărei obiecte doriți să le sortați trebuie să implementeze interfața comparabilă. Clasa, ale cărei obiecte doriți să le sortați, nu trebuie să implementeze o interfață de comparație.
Oferă secvențe de sortare unice. Oferă mai multe secvențe de sortare.
Această metodă poate sorta datele după ordinea naturală de sortare. Această metodă sortează datele în funcție de ordinea de sortare personalizată.
Afectează clasa inițială. adică, clasa reală este modificată. Nu afectează clasa originală, adică clasa reală nu este modificată.
Implementat frecvent în API prin Calendar, clase Wrapper, Date și String. Este implementat pentru a sorta instanțe ale claselor terțe.
Toate clasele wrapper și clasa String implementează interfața comparabilă. Singurele clase implementate de Comparator sunt Collator și RuleBasedColator.

12) Explicați equals() cu un exemplu

Equals() verifică dacă obiectul număr este egal cu obiectul, care este transmis ca argument sau nu.

Sintaxa metodei equals() este:

public boolean equals(Object o)

Această metodă ia doi parametri 1) orice obiect, 2) valoarea returnată. Returnează adevărat dacă argumentul transmis nu este nul și este un obiect de tip similar având aceeași valoare numerică.

Exemplu:

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) Enumerați beneficiile colectării generice

Beneficiile utilizării colecției generice sunt:

  • Dacă programatorii folosesc clasa generică, nu necesită tipărire.
  • Este sigur de tip și poate fi verificat în momentul compilării.
  • Oferă stabilitatea codului prin detectarea erorilor la momentul compilării.

14) Explicați metoda de a converti ArrayList în Array și Array în ArrayList

Programatorii pot converti un Array în ArrayList folosind metoda asList() din clasa Arrays. Este o metodă statică a clasei Arrays care acceptă obiectul List. Sintaxa metodei asList() este:

Arrays.asList(item)

Java programatorii pot converti ArrayList în obiectul List folosind sintaxa:

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

15) Dați un exemplu de ArrayList

Exemplul de reverse ArrayList este:

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) Dați exemplu pentru a sorta o matrice în ordine descrescătoare

Exemplul de sortare a unei matrice în ordine descrescătoare este:

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) Explicați interfețele de bază ale Java cadrul colecțiilor

Java cadrul de colecție este o rădăcină a ierarhiei de colecție. Reprezintă un grup de obiecte ca elemente ale sale. The Java limbajul de programare nu oferă o implementare directă a unei astfel de interfețe.

  • Set: Setul este o colecție care nu are elemente duplicat. Folosește hashtable pentru stocarea elementelor.
  • Listă: Listă este o colecție ordonată care poate conține elemente duplicat. Le permite dezvoltatorilor să acceseze orice elemente din căsuța de e-mail. Lista este ca o matrice cu o lungime dinamică.
  • HARTĂ: Este un obiect care mapează cheile la valori. Nu poate conține chei duplicate. Fiecare cheie poate fi mapată la cel puțin o valoare.

18) Care sunt caracteristicile Java Hashmap?

Caracteristicile Java Hashmap sunt:

  • Valorile pot fi stocate într-o hartă formând o pereche cheie-valoare. Valoarea poate fi preluată folosind cheia trecând-o la metoda corectă.
  • Dacă nu există niciun element în Hartă, va arunca o „NoSuchElementException”.
  • HashMap stochează doar referințe la obiecte. De aceea este imposibil să folosiți tipuri de date primitive precum double sau int. Utilizați clasa wrapper (cum ar fi Integer sau Double) in schimb.


19) Ce este o stivă?

O stivă este o zonă specială a memoriei computerului care stochează variabile temporare create de o funcție. În stivă, variabilele sunt declarate, stocate și inițializate în timpul rulării.


20) Ce este lista legată?

O listă legată este o structură de date care poate stoca o colecție de articole. Cu alte cuvinte, listele legate pot fi utilizate pentru a stoca mai multe obiecte de același tip. Fiecare unitate sau element al listei este denumit nod. Un nod din lista Linked are datele sale și adresa următorului nod. Este ca un lanț. Listele legate sunt folosite pentru a crea grafice și arbori.


Java Colecții Interviu Întrebări și răspunsuri pentru experimentați

21) Dați un exemplu de ArrayList

Exemplul de ArrayList este:

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) Explicați lista legată susținută de Java

Două tipuri de liste conectate acceptate de Java sunt:

  • Lista legată individual: Lista cu legături individuale este un tip de structură de date. Într-o listă legată individual, fiecare nod din listă stochează conținutul nodului și o referință sau un indicator către următorul nod din listă. Nu stochează nicio referință sau pointer către nodul anterior.
  • Liste dublu legate: Listele dublu legate sunt un tip special de listă legată în care traversarea elementelor de date se poate face în ambele direcții. Acest lucru este posibil prin existența a două legături în fiecare nod, una care se conectează la următorul nod și alta care se conectează la nodul anterior.

23) Explicați metodele oferite de interfața Queue?

Metode de Java Interfața de coadă sunt:

Metodă Descriere
adăugare booleană (obiect) Inserează elementul specificat în coadă. Se întoarce adevărat în cazul în care este un succes.
ofertă booleană (obiect) Această metodă este folosită pentru a introduce elementul în coadă.
Eliminare obiect() Preia și îndepărtează capul de coadă.
Sondaj obiect() (): Preia și elimină capul de coadă sau returnează nul în cazul în care este gol.
Sondaj obiect() Preia și elimină capul de coadă sau returnează nul în cazul în care este gol.
Element obiect() Preia datele din coadă, dar nu îi scoate capul.
Privire obiect() Preia datele din coadă, dar nu le îndepărtează capul sau, în cazul în care, dacă coada este, coada este goală, va prelua null.

24) Menționați metodele oferite de clasa Stack

Metodele importante oferite de clasa Stack sunt:

  • Apăsaţi(): Împingeți articolul în stivă.
  • gol (): Această metodă constată că stiva este goală sau nu.
  • pop (): Acest Java metoda cadru de colectare elimină obiectul din stivă.
  • căutare (): Această metodă caută articole din stivă.
  • privirea (): Acest Java metoda se uită la obiectul stivei fără a-l elimina.

25) Definiți emptySet() în Java cadrul colecțiilor

Metoda emptySet() care returnează setul imuabil gol ori de câte ori programatorii încearcă să elimine elementele nule. Setul care este returnat de emptySet() este serializabil. Sintaxa acestei metode este:

public static final A stabilit emptySet()


26) Faceți diferența între colecție și colecții

Diferența dintre colecție și colecție este:

Colectie Colecţii
Colecția este o interfață. Colecțiile sunt o clasă.
Reprezintă un grup de obiecte ca o singură entitate. Acesta definește diverse metode de utilitate pentru obiectele de colecție.
Colecția este interfața rădăcină a fișierului Java Cadrul de colectare. Colecțiile sunt o clasă de utilitate generală.
Această interfață este utilizată pentru a deriva structurile de date de colectare. Această clasă conține metode statice pentru a manipula structura datelor.

27) Definiți LinkedHashSet în Java Cadrul de colectare?

LinkedHashSet este o subclasă a clasei numită HashSet și implementează interfața set. Este o versiune bine ordonată a HashSet care menține o listă dublu legată în toate elementele sale.


28) Care este diferența dintre failfast și failsafe?

Faifast Sigur
Nu permite modificarea colecției în timpul iterării. Permite modificarea colecției în timpul iterării.
Poate arunca ConcurrentModificationException Nu poate face nicio excepție.
Folosește colecția originală pentru a traversa elementele. Folosește o copie originală a colecției pentru a traversa elementele.
Nu este nevoie de memorie suplimentară. Există o cerință de memorie suplimentară.

29) Listează vizualizări de colecție ale unei interfețe de hartă

Vizualizările de colecție ale interfeței hărții sunt: ​​1) vizualizare set de chei, 2) vizualizare set de valori și 3) vizualizare set de intrare.


30) Care sunt beneficiile Cadrului de Colectare în Java?

Beneficiile Collection Framework în Java sunt:

  • Java cadrul de colectare oferă structuri de date extrem de eficiente și eficiente care sporesc acuratețea și viteza programului.
  • Programul dezvoltat cu Java cadrul de colectare este ușor de întreținut.
  • Un dezvoltator poate amesteca clase cu alte tipuri care au ca rezultat creșterea reutilizabilității codului.
  • Java cadrul de colecție permite programatorilor să modifice tipurile de colecție primitive așa cum doresc.

31) Care este o modalitate bună de a sorta obiectele din colecție Java?

O modalitate bună de a sorta Java obiectele de colecție utilizează interfețele Comparabil și Comparator. Un dezvoltator poate folosi Collections.sort(), elementele sunt sortate pe baza mențiunii de ordine în compareTo().

Când un dezvoltator folosește Colecții, sortează (Comparator), sortează obiectele în funcție de compară() a interfeței Comparator.


32) Explicați Vector în Java

Vectorul este același cu un tablou. Are componente care pot fi accesate folosind o valoare de index. Vectorii pot conține o metodă moștenită care nu face parte din cadrul de colectare.


33) Care este diferența dintre Set și Map?

set Hartă
Setul aparține pachetului-java.util. Harta aparține pachetului-java.util.
Poate extinde interfața de colecție. Nu extinde interfața de colecție.
Nu permite valori duplicate. Permite valori duplicate.
Setul poate sorta o singură valoare nulă. Harta poate sorta mai multe valori nule.

34) Definiți clasa de dicționar

Clasa Dicționar este a Java clasă care are capacitatea de a stoca perechi cheie-valoare.


35) Definiți EnumSet

java.util.EnumSet este implementarea Set care poate fi folosită cu tipuri de enumerare. EnumSet care are toate elementele trebuie să provină dintr-un tip de enumerare specificat explicit sau implicit. Nu este sincronizat și, de asemenea, cheile nule nu sunt permise. EnumSet oferă metode precum EnumSetof(E first, E... rest), complementOf(EnumSet s) și copyOf(Collection c).


36) Care sunt cele două moduri de a elimina duplicatele din ArrayList?

Două moduri de a elimina duplicatele din ArrayList sunt:

  • HashSet: Dezvoltatorul poate folosi HashSet pentru a elimina elementul duplicat din ArrayList. Dezavantajul este că nu poate păstra ordinea de inserare.
  • LinkedHashSet: De asemenea, dezvoltatorii pot menține ordinea de inserare folosind LinkedHashSet în loc de HashSet.

37) Ce este IdentityHashMap?

IdentityHashMap este o clasă care implementează interfețe Serializabile, Clonabile, Map și extinde clasa AbstractMap. Este conceput pentru cazul în care este nevoie de semantică de egalitate de referință.


38) Ce este WeakHashMap?

WeakHashMap este o implementare a programului Java Hartă. Este folosit pentru a stoca referințe slabe la cheile sale. Sortarea folosind această hartă permite ca o pereche cheie-valoare să fie colectată ca gunoi. Cheia sa nu este referită în afara WeakHashMap.


39) Care sunt metodele de a face colecția sigură pentru fire?

Metodele de a asigura siguranța firelor de colectare sunt:

  • Collections.synchronizedList(lista);
  • Colecții.synchronizedMap(hartă);
  • Collections.synchronizedSet(set);

40) Explicați NeacceptatOperationException

neacceptatăOperationException este o excepție care este aruncată pe metode care nu sunt acceptate de tipul real de colecție.

De exemplu, Developer realizează o listă numai pentru citire folosind „Collections.unmodifiableList(list)” și apelând metoda call(), add() sau remove(). Ar trebui să arunce în mod clar UnsupportedOperationException.


41) Denumiți clasele de colecție care oferă acces aleatoriu la elementele sale

Clasele de colecție care oferă acces aleatoriu la elementele sale sunt: ​​1) ArrayList, 2) HashMap, 3) TreeMap și 4) Hashtable.


42) Explicați diferența dintre Queue și Deque.

Coadă Deque
Se numește coadă cu un singur capăt Se numește coadă dublă
Elementele din coadă sunt adăugate sau eliminate de la un capăt Elementele din coadă sunt adăugate de la oricare capăt pot fi adăugate și eliminate de la ambele capete
Este mai puțin versatil. Este mai versatil.

43) Menționați interfața de implementare Listă și Set

Interfața Listă de implementare a clasei: 1) ArrayList, 2) Vector și 3) LinkedList.

Clasa implementează interfața Set: 1) HashSet și 2) TreeSet.


44) Explicați modelul de proiectare urmat de Iterator

Iteratorul urmează detaliul modelului de proiectare a iteratorului. Oferă dezvoltatorului să navigheze prin colecțiile de obiecte folosind o interfață comună fără a cunoaște implementarea acesteia.


45) Care este peek() al interfeței Queue?

Peek () este o metodă de interfață de coadă. Preia toate elementele, dar nu elimină capul de coadă. În cazul în care coada este goală, atunci această metodă va returna null.


46) Ce este CopyOnWriteArrayList?

CopyOnWriteArrayList este o variantă a ArrayList în care operațiuni precum add și set sunt implementate prin crearea unei copii a matricei. Este un thread-safe și, prin urmare, nu aruncă ConcurrentModificationException. Acest ArrayLists permite toate elementele, inclusiv null.


47) Faceți diferența între ArrayList și LinkedList

Diferența dintre ArrayList și LinkedList este:

ArrayList LinkedList
Utilizează o matrice dinamică. Utilizează o listă dublu legată.
ArrayList nu este de preferat pentru manipulare. LinkedList este de preferat pentru manipulare.
ArrayList oferă acces aleatoriu. LinkedList nu oferă acces aleatoriu.
ArrayList stochează numai obiecte, prin urmare este nevoie de mai puțină suprasarcină de memorie LinkedList stochează obiectul, precum și obiectul adresa; prin urmare, este nevoie de mai multă suprasarcină de memorie.

48) Explicați metodele interfeței iteratorului

Metodele de interfață iteratoare sunt:

Metodă Descriere
boolean public hasNext() Returnează adevărat în iteratorul are elemente; în caz contrar, se întoarce false.
Public Object next() Această metodă returnează elementul și mută indicatorul la următoarea valoare.
public void remove() Acest Java metoda poate elimina ultimele elemente returnate de iterator. Public void remove() este mai puțin utilizat.

49) Care sunt metodele clasei HashSet?

Metodele clasei HashSet sunt:

Aplicate Descriere
boolean add(Obiect o) Această metodă adaugă elementul de mențiune la acest set dacă nu este deja prezent.
boolean conține (Obiect o): Returnează adevărat dacă setul conține elementul specificat.
void clear(): Această metodă elimină elementele setate.
boolean isEmpty(): Returnează adevărat în cazul în care setul nu are elemente.
boolean remove (Obiect o): Îndepărtează elementul specificat din set.
clona obiect(): Această metodă returnează o copie a instanței HashSet: elementele în sine nu sunt clonate.
iterator iterator() Returnează un iterator peste elementele din acest set.
dimensiune int(): Returnează numărul de elemente disponibile în set.

50) Care sunt metodele de Java Clasa TreeSet?

Metodele de Java Clasa TreeSet sunt:

Aplicate Descriptionii
boolean addAll(Colecția c) Adăugați toate elementele din colecția specificată la acest set.
boolean conține (Obiect o) Returnează adevărat dacă setul conține elementul de mențiune.
boolean este gol () Acest Java metoda returnează true dacă acest set nu conține elemente.
Eliminare booleană (Obiect o) Scoateți elementul specificat din set.
void add(Obiect o) Adaugă elementul specificat la set.
void clear() Acest Java metoda elimina toate elementele din multime.

51) Explicați Linked HashSet

Java Clasa LinkedHashSet este o implementare a listei Linked și a tabelului Hash a interfeței Set. Conține elemente unice la fel ca un HashSet. HashSet conectat în Java oferă, de asemenea, operațiuni de set opționale care pot menține ordinea de inserare.


52) Care sunt metodele importante utilizate într-o listă legată?

Metodele importante utilizate în lista legată sunt:

Metodă Descriere
adăugare booleană (Obiect o) Este folosit pentru a adăuga elementul specificat la sfârșitul vectorului.
boolean conține (Obiect o) Este o metodă care returnează true dacă această listă conține elementul specificat.
void add (index int, element Object) Inserează elementul la elementul specificat în vector.
void addFirst (Obiect o) Este folosit pentru a introduce elementul dat la început.
void addLast(Obiect o) Este folosit pentru a adăuga elementul dat la sfârșit.
Dimensiune int () Această metodă poate fi folosită pentru a returna numărul total de elemente dintr-o listă.
Eliminare booleană (Obiect o) Poate elimina prima apariție a elementului specificat din această listă.
int indexOf(element obiect) Acest Java metoda returnează indexul cu prima apariție a elementului de mențiune din această listă sau -1.
int lastIndexOf(element obiect) Este o Java metodă care returnează indexul cu ultima apariție a elementului specificat în această listă sau -1.

53) Listați diferite clase disponibile în seturi

Diverse clase disponibile în seturi sunt: ​​HashSet, TreeSetand și LinkedHashSet.


54) Enumerați metodele disponibile în Java Interfață coadă

  • adăugare booleană (obiect)
  • ofertă booleană (obiect)
  • obiect remove()
  • obiect sondaj()
  • element obiect()
  • obiect peek()

55) Faceți diferența între Listă și Set.

Listă set
O colecție ordonată de elemente O colecție neordonată de elemente
Păstrează ordinea de inserare Nu păstrează ordinea de inserare
Sunt permise valori duplicate Nu sunt permise valori duplicate
Orice număr de valori nule poate fi stocat Numai o singură valoare nulă poate fi stocată
ListIterator poate fi folosit pentru a parcurge Lista în orice direcție ListIterator nu poate fi folosit pentru a parcurge un set
Conține o clasă moștenită numită vector Nu conține nicio clasă moștenită

Java Colecții Interviu Întrebări și Răspunsuri pentru 5+ ani de experiență

56) Explicați pentru fiecare buclă cu un exemplu

For-Each Loop este o altă formă de buclă for folosită pentru a traversa matricea. Reduce codul în mod semnificativ și nu există nicio utilizare a indexului sau mai degrabă a contorului în buclă.

Exemplu de pentru fiecare buclă:

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) Explicați operatorul diamant

Operatorul Diamond permite compilatorului să colecteze argumentele tip ale clasei generice. În Java SE, dezvoltatorul poate înlocui constructorul parametrizat cu un set de parametri gol (<>) cunoscut sub numele de operator diamant.


58) Explicați interfața cu acces aleatoriu

Interfața RandomAccess este folosită de implementările List pentru a indica faptul că suportă rapid.


59) Denumiți clasele de colecție care implementează interfața cu acces aleatoriu

JavaPachetul .util are clase care pot implementa interfața cu acces aleator sunt: ​​CopyOnWriteArrayList, Stack, ArrayList și Vector.


60) Cum să vă alăturați mai multor ArrayLists?

Lista oferă o metodă addall() în mai multe ArrayList Java.

De exemplu, luați în considerare două liste 1) areaList și 2) secondAreaList. Un dezvoltator se poate alătura acestora folosind addall() ca:

areaList.addAll(secondAreaList);


61) Explicați interfața deque

Java.util.Deque este Java, o interfață care extinde interfața Queue. Oferă suport pentru inserarea și ștergerea elementelor la ambele capete. Această coadă se mai numește și coadă dublă.


62) Explicați Linkedhashmap

LinkedHashMap este implementarea interfeței Map. De asemenea, poate extinde clasa HashMap. Prin urmare, la fel ca HashMap, LinkedHashMap activează Java dezvoltatorii să permită o cheie nulă și mai mult de o valoare nulă.


63) Explicați metodele de eliminare a elementelor din ArrayList

Metodele de eliminare a elementelor din ArrayList sunt:

Metodă Descriere
clar() Această metodă elimină elementele din ArrayList.
elimina (index int) Această metodă de ArrayList poate elimina elementul dintr-o anumită poziție.
elimina (obiectul o) Poate elimina prima apariție a elementului de mențiune din ArrayList.
inlătură tot() Poate elimina lista de elemente care se află într-o anumită colecție.
removeIf(Predicat filtru) Această metodă înlătură elementele care satisfac mențiunea unui predicat.

64) Explicați harta. intrare în hartă

Map.entry este a Java interfața java.util. Are o interfață imbricată în Map. Această interfață trebuie să fie calificată prin numele clasei sau al interfeței din care face parte. Prin urmare, este calificată ca Hartă. Intrare. Reprezintă o pereche cheie și valoare care poate forma elementul unei hărți.

Această metodă returnează o vedere a colecției. De exemplu, luați în considerare cityMap ca o hartă. Dezvoltatorul poate folosi entrySet() pentru a obține vizualizarea setată a hărții având un element Map.Entry. Programatorul poate folosi, de asemenea, getKey() și getValue() din Map.Entry pentru a obține perechea de cheie și valoare a hărții.


65) Ce metodă este folosită pentru a sorta o matrice în ordine crescătoare?

Java Metoda cadrului de colectare, Collections.sort() este folosită pentru a sorta o matrice în ordine crescătoare.


66) Cum se măsoară performanța unui ArrayList?

Performanța ArrayList poate fi măsurată prin:

  • Adăugarea unui element: Dezvoltatorul poate adăuga un element la sfârșitul ArrayList folosind metoda add(E e). Este O(1). În cel mai rău scenariu, ar putea ajunge la O(n). Acest lucru se poate întâmpla dacă dezvoltatorul adaugă mai multe elemente decât capacitatea matricei.
  • Preluarea unui element: Dezvoltatorul poate accesa indexul matricei folosind get(int index). Performanța, în acest caz, poate fi măsurată folosind ArrayList get() este O(1).
  • Eliminarea unui element: În cazul în care, în cazul în care dezvoltatorii îndepărtează element folosind remove(int index), atunci performanța ArrayList poate fi calculată folosind metoda de eliminare (int index) este O(n – index).

67) Explicați clasa LinkedList

Clasa LinkedList în Java implementează Deque și List folosind o listă dublu legată. Există un nod de clasă privată într-o listă dublu legată care oferă structura acestuia. Are, de asemenea, o variabilă element pentru păstrarea valorii și referința la clasa Node. Acesta poate fi folosit pentru conectarea nodurilor următoare și anterioare.


68) Dați un exemplu de Hashmap

Exemplul de Hashmap este:

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) Cum se repetă harta?

Dezvoltatorul nu poate repeta direct harta, dar această interfață are două metode care oferă un set de vizualizare a hărții. Aceste metode sunt:

  • A stabilit >entrySet(): Este o metodă care returnează un set având intrările menționate în hartă. Aceste intrări sunt în general obiectate, care au tipul Hartă. Intrare.
  • A stabilit keySet(): Acest Java metoda returnează un set care are cheia hărții.

70) Explicați Harta arborelui în Java

TreeMap este o clasă care implementează interfața Map LinkedHashMap și HashMap. De asemenea, poate implementa interfața NavigableMap și poate extinde clasa AbstractMap.


71) Care este diferența dintre Hashmap și Hashtable?

Hashmap Hashtable
Nu este sincronizat. Este sincronizat.
Hashmap permite o cheie ca valoare nulă. HashTable nu permite valori nule.
Iteratorul este folosit pentru a parcurge HashMap. Fie Iterator, fie Enumerator este folosit pentru a parcurge un HashTable.
Poate fi folosit atât pentru HashTable, cât și pentru HashMap și este rapid. Poate fi folosit cu HashTable și este sigur.
HashMap funcționează mai rapid decât HashTable. Hashtable nu este mult mai rapid în comparație cu HashMap.

72) Explicați funcționarea internă a HashSet în Java

HashSet in Java utilizează intern HashMap pentru a stoca elemente. De asemenea, poate stoca valori unice fără valori duplicate.

In Java, Dezvoltatorul HashSet poate avea metoda add(E e) care ia doar elementul de adăugat ca parametru. Nu acceptă perechea cheie și valoare.


73) Explicați notația Big-O cu un exemplu

Notația Big-O descrie performanța unui algoritm ca număr de elemente din ArrayList. Un dezvoltator poate folosi notația Big-O pentru a alege implementarea colecției. Se bazează pe performanță, timp și memorie.

De exemplu, ArrayList get(index i) este o metodă de a efectua o operație în timp constant. Nu depinde de numărul total de elemente disponibile în listă. Prin urmare, performanța în notația Big-O este O(1).


74) Explicați cele mai bune practici în Java Cadru de colectare

Cele mai bune practici în Java Cadrul de colectare este:

  • Alegerea tipului corect de colectare depinde de nevoie.
  • Evitați rehașarea sau redimensionarea estimând numărul total de elemente care urmează să fie stocate în clasele de colecție.
  • Scrie o Java program din punct de vedere al interfețelor. Acest lucru va ajuta dezvoltatorul să-și schimbe implementarea fără efort în viitor.
  • Un dezvoltator poate folosi Generics pentru siguranța tipului.
  • Folosiți clase imuabile date de Java Kit de dezvoltare. Evitați implementarea equals() și hashCode() pentru clasele personalizate.
  • Un programator ar trebui să folosească clasa de utilitate Colecții pentru algoritmi sau pentru a obține colecții numai în citire, sincronizate sau goale. Acest lucru va spori reutilizarea codului cu o întreținere scăzută.

75) Explicați diferitele tipuri de cozi în Java

Există trei tipuri de cozi Java:

  • Coada de prioritate: Este un tip special de coadă în care elementele sunt sortate conform ordonării lor naturale sau comparatorului personalizat.
  • Coada circulară: Este un tip de coadă în care operațiunile utilizatorului sunt efectuate pe baza metodei FIFO. Ultimul element este conectat la prima poziție pentru a face un cerc.
  • Doublecoadă terminată: O coadă dublă este un tip abstract de date care generalizează o coadă. Elementele din această coadă pot fi adăugate sau eliminate fie din cap, fie din coadă.

76) Care este diferența dintre stack și Queue?

Stivui Coadă
Principiul de funcționare al stivei este LIFO. Principalul de lucru al cozii este FIFO.
Un capăt este utilizat pentru a efectua inserarea sau ștergerea elementelor. Un capăt este folosit pentru a efectua inserarea, iar un alt capăt este folosit pentru ștergerea elementelor.
Folosește un singur indicator. Folosește doi pointeri într-o coadă simplă.
Nu are nici un fel de varianta. Are variante precum coadă prioritară, coadă circulară, coadă dublu terminată.
Este ușor de utilizat. Nu este ușor de utilizat.

77) Care este diferența dintre matrice și stivă?

Diferența dintre matrice și stivă este:

Mulțime Stivui
Este o colecție de elemente care sunt identificate prin index. Este o operațiune de colectare care servește ca operațiuni push și pop.
Are elemente de tipuri de date care sunt aceleași. Are elemente de tipuri de date care sunt diferite.
Elementele pot fi eliminate sau adăugate în matrice folosind operația de acces aleatoriu. Elementele pot fi eliminate sau adăugate într-o stivă folosind operația LIFO.

78) Definiți iteratorul()

Iterator() este o interfață care oferă metode pentru a repeta Collection. Iteratorul poate lua locul Enumerării în Java. Permite apelantului să elimine elemente din colecție. Metoda oferă o modalitate generică de parcurgere folosind elemente ale colecției și implementarea modelului de proiectare a iteratorului.


79) Care sunt diferitele moduri de a repeta o listă?

Java Programul cadru de colectare poate itera o listă în două moduri: 1) Folosind iteratorul și 2) folosindu-l pentru fiecare buclă.


80) Care sunt avantajele stivei?

Avantajele stivei sunt:

  • Vă ajută să gestionați datele într-o metodă Last In First Out (LIFO), ceea ce nu este posibil cu lista și matricea Linked.
  • Când o funcție este apelată, variabilele locale sunt stocate într-o stivă și este distrusă automat odată ce este returnată.
  • O stivă este utilizată atunci când o variabilă nu este utilizată în afara acelei funcții.
  • Vă permite să controlați modul în care memoria este alocată și dealocată.
  • Stack curăță automat obiectul.
  • Nu se corupt ușor
  • Variabile nu poate fi redimensionat.

Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)