Top 80 Întrebări despre interviuri despre colecțiile Java & Răspunsuri

Anonim

Iată întrebări de interviuri despre colecțiile Java pentru candidați mai proaspeți, precum și pentru cei cu experiență, pentru a-și obține locul de muncă de vis.

1) Ce este cadrul în Java?

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

2) Care este cadrul de colectare în Java?

Collection Framework este un grup de clase și interfețe care este utilizat pentru stocarea și gestionarea obiectelor. Oferă diverse clase precum Vector, ArrayList, HashSet, Stack, etc. Cadrul Java Collection poate fi utilizat și pentru interfețe precum Queue, Set, List etc.

3) Explicați clasa de colecții

java.util.Collections este o clasă formată din metode statice care operează pe colecții. Conține algoritmi polimorfi pentru a opera pe colecții, „împachetări”. 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 cadrul de colecție Java.

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

6) Ce este ArrayList în Java?

ArrayList este o structură de date care poate fi întinsă pentru a găzdui elemente suplimentare în sine și a se micșora la o dimensiune mai mică atunci când elementele sunt eliminate. Este o structură de date foarte importantă utilă în gestionarea comportamentului dinamic al elementelor.

7) Diferențiați între Iterator și ListIterator

Diferența dintre Iterator și ListIterator este:

Iterator ListIterator
Iteratorul poate traversa elementele matricei în direcția înainte. ListIterator poate parcurge elementele matricei în direcții înapoi și înainte.
Poate fi folosit în Coadă, Listă și Setare. Poate fi folosit în Listă.
Poate efectua doar operațiunea de eliminare. Poate efectua operații de adăugare, eliminare și setare în timp ce traversează colecția.

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

Diferența dintre Iterator și Enumerare

Iterator Enumerare
Iteratorul poate parcurge atât moștenirile, cât și elementele non-moștenite. Enumerarea poate traversa doar elemente vechi.
Iteratorul este rapid. Enumerarea nu este rapidă.
Iteratorul este foarte lent în comparație cu Enumerarea. Enumerarea se compară rapid cu Iterator.
Iteratorul poate efectua operația de eliminare în timp ce traversează colecția. Enumerarea poate efectua numai operațiune transversală asupra colecției.

9) Definiți BlockingQueue

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

Coada așteaptă să nu fie goală î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 extends Queue  

10) Explicați metoda override equals ()

Metoda egală este utilizată pentru a verifica similaritatea 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 Comparable și Comparator este:

Comparabil Comparator
Comparable oferă metoda compareTo () pentru sortarea elementelor în Java. Comparator oferă metoda compare () pentru sortarea elementelor în Java.
Interfața comparabilă este prezentă în pachetul java.lang. Interfața de comparare este prezentă în java. pachet util.
Logica sortării trebuie să se afle în aceeași clasă al cărei obiect urmează să-l sortați. Logica sortării ar trebui să se afle într-o clasă separată pentru a scrie sortare diferită pe baza diferitelor 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 comparare.
Oferă secvențe de sortare unice. Oferă mai multe secvențe de sortare.
Această metodă poate sorta datele în funcție de ordinea naturală de sortare. Această metodă sortează datele în funcție de ordinea de sortare personalizată.
Afectează clasa originală. adică, clasa reală este modificată. Nu afectează clasa originală, adică clasa reală nu este modificată.
Implementat frecvent în API de Calendar, clase Wrapper, Data și Șir. Este implementat pentru a sorta instanțele de clase terțe.
Toate clasele de împachetare ș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 sau nu ca argument.

Sintaxa metodei equals () este:

public boolean equals(Object o) 

Această metodă ia doi parametri 1) orice obiect, 2) valoarea returnată. Revine adevărat dacă argumentul trecut 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

Avantajele utilizării colecției generice sunt:

  • Dacă programatorii folosesc clasa generică, nu necesită tipografiere.
  • 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) 

Programatorii Java pot converti ArrayList în obiectul List utilizând sintaxa:

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

15) Dați un exemplu de ArrayList

Exemplul ArrayList invers este:

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

Exemplul sortării unui tablou î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 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) Explicați interfețele de bază ale cadrului de colecții Java

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

  • Set: Set este o colecție fără elemente duplicat. Folosește hashtable pentru stocarea elementelor.
  • Listă: Listă este o colecție ordonată care poate conține elemente duplicat. Permite dezvoltatorilor să acceseze orice element din căsuța de e-mail. Lista este ca o matrice cu o lungime dinamică.
  • MAP: Este un obiect care mapează cheile la valori. Nu poate conține chei duplicat. 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ă prin formarea unei perechi cheie-valoare. Valoarea poate fi recuperată folosind cheia, trecând-o la metoda corectă.
  • Dacă nu există niciun element în hartă, acesta va arunca o „NoSuchElementException”.
  • HashMap stochează numai referințe la obiecte. De aceea este imposibil să se utilizeze tipuri de date primitive precum double sau int. Folosiți în schimb clasa wrapper (cum ar fi Integer sau Double).

19) Ce este o stivă?

O stivă este o zonă specială a memoriei computerului care stochează variabilele 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 nodului următor. Este ca un lanț. Listele conectate sunt folosite pentru a crea grafice și arbori.

21) Dați un exemplu de ArrayList

Exemplul ArrayList este:

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

Două tipuri de liste conectate acceptate de Java sunt:

  • Lista cu legături individuale: 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 la nodul anterior.
  • Liste cu legături duble: listele cu legături duble sunt un tip special de listă cu legături în care traversarea elementelor de date se poate face în ambele direcții. Acest lucru este posibil având două legături în fiecare nod, unul care se leagă de nodul următor și altul care se conectează la nodul anterior.

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

Metodele interfeței Java Queue sunt:

Metodă Descriere
add boolean (obiect) Inserează elementul specificat în Coadă. Se întoarce adevărat în cazul în care va avea succes.
oferta booleană (obiect) Această metodă este utilizată pentru a insera elementul în Coadă.
Eliminare obiect () Acesta recuperează și elimină capul cozii.
Sondaj de obiecte () (): Recuperează și elimină capul cozii sau returnează nul în cazul în care este gol.
Sondaj de obiecte () Acesta recuperează și elimină capul cozii sau returnează nul în cazul în care este gol.
Element de obiect () Preluează datele din Coadă, dar nu îi elimină capul.
Peek obiect () Preluează datele din Coadă, dar nu îi elimină capul sau, în cazul în care, dacă Coada este Coada este goală, va prelua nul.

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

Metodele importante furnizate de clasa Stack sunt:

  • push (): Împingeți elementul în stivă.
  • empty (): Această metodă constată că stiva este goală sau nu.
  • pop (): Această metodă Java Framework framework elimină obiectul din stivă.
  • search (): Această metodă caută elemente din stivă.
  • peek (): Această metodă Java privește obiectul stivei fără a-l elimina.

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

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

public static final Set emptySet ()

26) Diferențiați între colecție și colecții

Diferența dintre colecție și colecții 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 obiecte de colectare.
Colecția este interfața rădăcină a cadrului Java Collection. Colecțiile sunt o clasă generală de utilitate.
Această interfață este utilizată pentru a obține structurile de date de colectare. Această clasă conține metode statice pentru a manipula structura datelor.

27) Definiți LinkedHashSet în cadrul Java Collection?

LinkedHashSet este o subclasă a clasei numită HashSet și implementează interfața setată. Este o versiune bine ordonată a HashSet care menține o Listă dublă legată între toate elementele sale.

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

Failfast Sigur
Nu permite modificarea colecției în timpul iterației. Permite modificarea colecției în timp ce iterați.
Poate arunca ConcurrentModificationException Nu poate face 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 necesară o memorie suplimentară. Există o cerință de memorie suplimentară.

29) Listează vizualizările colecției unei interfețe de hartă

Vizualizările de colecție ale interfeței hărții sunt: ​​1) vizualizarea setului de taste, 2) vizualizarea setului de valori și 3) vizualizarea setului de intrări.

30) Care sunt beneficiile cadrului de colectare în Java?

Avantajele Collection Framework în Java sunt:

  • Cadrul de colectare Java oferă structuri de date extrem de eficiente și eficiente care sporesc acuratețea și viteza programului.
  • Programul dezvoltat cu cadrul de colectare Java este ușor de întreținut.
  • Un dezvoltator poate amesteca clasele cu alte tipuri care duc la creșterea reutilizării codului.
  • Cadrul de colectare Java permite programatorilor să modifice tipurile de colecție primitive așa cum le place.

31) Care este un mod bun de a sorta obiectele Colecției în Java?

O modalitate bună de sortare a obiectelor de colecție Java este utilizarea interfețelor Comparable și Comparator. Un dezvoltator poate folosi Collections.sort (), elementele sunt sortate pe baza mențiunii comenzii din compareTo ().

Când un dezvoltator folosește Collections, sortează (Comparator), sortează obiectele care depind de compare () din interfața Comparator.

32) Explicați Vectorul în Java

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

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

A stabilit Hartă
Setul aparține pachetului-java.util. Harta aparține pachetului- java.util.
Poate extinde interfața de colectare. Nu extinde interfața de colectare.
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 o clasă Java care are capacitatea de a stoca perechi cheie-valoare.

35) Definiți EnumSet

java.util.EnumSet este Set de implementare care poate fi utilizat cu tipuri de enum. EnumSet care are toate elementele trebuie să provină dintr-un tip de enum specificat explicit sau implicit. Nu este sincronizat și nici tastele nule nu sunt permise. EnumSet oferă metode precum EnumSetof (E mai întâi, E

... rest), complementOf (EnumSet s) și copyOf (Colecția c).

36) Care sunt cele două modalități 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: Dezvoltatorii pot menține, de asemenea, ordinea de inserare utilizând LinkedHashSet în loc de HashSet.

37) Ce este IdentityHashMap?

IdentityHashMap este o clasă care implementează interfețe Serializable, Clonable, 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 hărții Java. Este folosit pentru a stoca referințe slabe la cheile sale. Sortarea utilizând această hartă permite colectarea unei perechi cheie-valoare ca gunoi. Cheia sa nu este menționată în afara WeakHashMap.

39) Care sunt metodele pentru a face colecția să fie sigură?

Metodele pentru a face firul de colectare sigur sunt:

  • Collections.synchronizedList (listă);
  • Collections.synchronizedMap (hartă);
  • Collections.synchronizedSet (set);

40) Explicați UnsupportedOperationException

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

De exemplu, dezvoltatorul realizează o listă numai în citire folosind „Collections.unmodifiableList (list)” și apelează apelul (), add () sau remove (). Ar trebui să arunce în mod clar UnsupportedOperationException.

41) Denumiți clasele de colecție care oferă acces aleatoriu elementelor 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 Coadă și Deque.

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

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

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

Clasa de implementare a interfeței Set: 1) HashSet și 2) TreeSet.

44) Explicați modelul de proiectare urmat de Iterator

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

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

Peek () este o metodă de interfață coadă. Acesta recuperează toate elementele, dar nu elimină capul cozii. În cazul în care coada este goală, atunci această metodă va reveni la nul.

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 tabloului. Este sigur pentru fire și, prin urmare, nu aruncă ConcurrentModificationException. Acest ArrayLists permite toate elementele, inclusiv nul.

47) Diferențiați între ArrayList și LinkedList

Diferența dintre ArrayList și LinkedList este:

ArrayList LinkedList
Folosește o matrice dinamică. Folosește o listă dublă.
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 necesită mai puține cheltuieli de memorie LinkedList stochează obiect, precum și obiect adresă; prin urmare, necesită mai multă cheltuială de memorie.

48) Explicați metodele interfeței iteratorului

Metodele interfeței iteratorului sunt:

Metodă Descriere
public boolean hasNext () Revine adevărat în iterator are elemente; în caz contrar, se întoarce fals.
Obiect public next () Această metodă returnează elementul și mută indicatorul la următoarea valoare.
public void remove () Această metodă Java 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:

Metode Descriere
add boolean (Obiectul o) Această metodă adaugă elementul de mențiune la acest set dacă nu este deja prezent.
boolean conține (Obiectul o): Revine adevărat dacă setul conține elementul specificat.
void clear (): Această metodă elimină elementele setate.
boolean isEmpty (): Revine adevărat în cazul, setul nu are elemente.
eliminare booleană (Obiectul o): El elimină elementul specificat din set.
obiect clonează (): 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.
dimensiunea int (): Returnează numărul de elemente disponibile în set.

50) Care sunt metodele clasei Java TreeSet?

Metodele clasei Java TreeSet sunt:

Metode Descrieri
boolean addAll (Colecția c) Adăugați toate elementele din colecția specificată la acest set.
boolean conține (Obiectul o) Returnează adevărat dacă setul conține elementul de mențiune.
boolean isEmpty () Această metodă Java returnează adevărat dacă acest set nu conține elemente.
eliminare booleană (Obiectul o) Eliminați elementul specificat din set.
adăugare nulă (Obiectul o) Se adaugă elementul specificat setului.
gol clar () Această metodă Java elimină toate elementele din set.

51) Explicați Linked HashSet

Clasa Java LinkedHashSet este o listă Linked și implementarea tabelului Hash a interfeței Set. Conține elemente unice la fel ca un HashSet. HashSet-ul legat în Java oferă, de asemenea, operații de setare 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
add boolean (Obiectul o) Este folosit pentru a atașa elementul specificat la sfârșitul vectorului.
boolean conține (Obiectul o) Este o metodă care returnează adevărat dacă această listă conține elementul specificat.
adăugare nulă (index int, element obiect) Inserează elementul în elementul specificat în vector.
void addFirst (Obiectul o) Se folosește pentru a insera elementul dat la început.
void addLast (Obiectul o) Este folosit pentru a atașa elementul dat la final.
Dimensiune Int () Această metodă poate fi utilizată pentru a returna numărul total de elemente dintr-o listă.
eliminare booleană (Obiectul o) Poate elimina prima apariție a elementului specificat din această listă.
int indexOf (Element obiect) Această metodă Java returnează indexul cu prima apariție a elementului de mențiune din această listă sau -1.
int lastIndexOf (element obiect) Este o metodă Java care returnează indexul cu ultima apariție a elementului specificat în această listă sau -1.

53) Enumerați diferite clase disponibile în seturi

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

54) Lista metodelor disponibile în interfața Java Queue

  • add boolean (obiect)
  • oferta booleană (obiect)
  • obiect remove ()
  • sondaj de obiecte ()
  • element de obiect ()
  • obiect peek ()

55) Diferențiați între Listă și Set.

Listă A stabilit
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 Valorile duplicate nu sunt permise
Orice număr de valori nule poate fi stocat Doar o valoare nulă poate fi stocată
ListIterator poate fi folosit pentru a traversa lista în orice direcție ListIterator nu poate fi folosit pentru a traversa un set
Conține o clasă moștenită numită vector Nu conține nicio clasă veche

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

For-Each Loop este o altă formă de buclă for utilizată pentru a traversa matricea. Reduce semnificativ codul ș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 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) Explicați operatorul diamantului

Operatorul Diamond permite compilatorului să colecteze argumentele de 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 de acces aleatoriu

Interfața RandomAccess este utilizată de implementările List pentru a indica faptul că acestea acceptă rapid.

59) Denumiți clasele de colectare care implementează interfața de acces aleatoriu

Pachetul Java.util are clase care pot implementa o interfață de acces aleatoriu: CopyOnWriteArrayList, Stack, ArrayList și Vector.

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

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

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

areaList.addAll (secondAreaList);

61) Explicați Interfața deque

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

62) Explicați Linkedhashmap

LinkedHashMap este implementarea interfeței Map. De asemenea, poate extinde clasa HashMap. Prin urmare, la fel ca HashMap, LinkedHashMap permite dezvoltatorilor Java să permită o cheie nulă și mai multe valori nule.

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 (int index) Această metodă a ArrayList poate elimina elementul într-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 elementelor dintr-o anumită colecție.
removeIf (Filtru predicat ) Această metodă elimină elementele care satisfac menționarea unui predicat.

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

Map.entry este o interfață Java a java.util. Are o interfață imbricată în hartă. Această interfață trebuie să fie calificată de numele clasei sau al interfeței la care este membru. Prin urmare, este calificată ca hartă. Intrare. Reprezintă o pereche de chei și valori care poate forma elementul unei hărți.

Această metodă returnează o vizualizare a colecției. De exemplu, considerați cityMap ca pe o hartă. Dezvoltatorul poate utiliza entrySet () pentru a obține vizualizarea setată a hărții care are un element Map.Entry. Programatorul poate utiliza, de asemenea, getKey () și getValue () din Map.Entry pentru a obține perechea de chei și valoarea hărții.

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

Metoda Java Framework Framework, Collections.sort () este utilizată pentru a sorta un tablou î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, s-ar putea merge 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, dacă dezvoltatorii elimină elementul folosind remove (int index), atunci performanța ArrayList poate fi calculată folosind operația de eliminare (int index) menționată este metoda O (n - index).

67) Explicați clasa LinkedList

Clasa LinkedList din Java implementează Deque și List utilizând o listă dublă legată. Există un nod de clasă privată într-o listă dublă legată, care oferă structura sa. De asemenea, are o variabilă de articol pentru a păstra valoarea și referința la clasa Node. Aceasta poate fi utilizată pentru conectarea nodurilor următoare și anterioare.

68) Dați un exemplu de Hashmap

Exemplul Hashmap este:

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

Dezvoltatorul nu poate itera direct harta, dar această interfață are două metode care oferă vizualizarea setului de hărți. Aceste metode sunt:

  • Set > entrySet (): Este o metodă care returnează un set cu mențiunile menționate pe hartă. Aceste intrări sunt în general obiecționate, care are tipul Hartă. Intrare.
  • Set keySet (): Această metodă Java returnează un set care are cheia hartă.

70) Explicați Treemap î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 traversa HashMap. Fie Iterator, fie Enumerator este utilizat pentru traversarea unui HashTable.
Poate fi folosit atât pentru HashTable, cât și pentru HashMap și este rapid. Poate fi utilizat cu HashTable și este sigur.
HashMap funcționează mai repede 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 în Java folosește intern HashMap pentru a stoca elemente. De asemenea, poate stoca valori unice fără valori duplicat.

În 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

Notarea Big-O descrie performanța unui algoritm ca număr de elemente din ArrayList. Un dezvoltator poate utiliza 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ă pentru 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 din Java Collection Framework

Cele mai bune practici în Java Collection Framework sunt:

  • Alegeți tipul corect de colecție depinde de nevoie.
  • Evitați refacerea sau redimensionarea prin estimarea numărului total de elemente care trebuie stocate în clasele de colecție.
  • Scrieți un program Java în termeni de interfețe. Acest lucru îl va ajuta pe dezvoltator să își modifice implementarea fără efort în viitor.
  • Un dezvoltator poate folosi Generics pentru siguranță de tip.
  • Utilizați clase imuabile date de setul de dezvoltare Java. Evitați implementarea equal () și hashCode () pentru clasele personalizate.
  • Un programator ar trebui să utilizeze clasa de utilitate Colecții pentru algoritmi sau pentru a obține colecții numai în citire, sincronizate sau goale. Acest lucru va îmbunătăți reutilizarea codului cu o întreținere redusă.

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

Există trei tipuri de cozi în Java:

  • Coadă prioritară: este un tip special de coadă în care elementele sunt sortate conform ordinii lor naturale sau comparatorului personalizat.
  • Coadă circulară: este un tip de coadă în care operațiile utilizatorului sunt efectuate pe baza metodei FIFO. Ultimul element este conectat la prima poziție pentru a face un cerc.
  • Coadă cu două capete: o coadă cu două capete este un tip de date abstract care generalizează o coadă. Elementele din această coadă pot fi adăugate sau eliminate din cap sau din coadă.

76) Care este diferența dintre stivă și coadă?

Grămadă Coadă
Principiul de lucru al stivei este LIFO. Principala de lucru a 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 utilizat pentru ștergerea elementelor.
Folosește un singur indicator. Folosește doi indicatori într-o coadă simplă.
Nu are niciun fel de variantă. Are variante precum coada prioritară, coada circulară, coada terminată dublu.
Este ușor de utilizat. Nu este ușor de utilizat.

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

Diferența dintre tablou și stivă este:

Matrice Grămadă
Este o colecție de elemente care sunt identificate de index. Este o operațiune de colectare care servește ca operații 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 itera colecția. Iterator poate lua locul Enumerării în Java. Permite apelantului să elimine elemente din colecție. Metoda oferă un mod generic de traversare utilizând elemente ale colecției și implementând modelul de proiectare a iteratorului.

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

Programatorul Java Collection Framework poate itera peste o listă în două moduri: 1) Utilizarea iteratorului și 2) utilizarea acestuia 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 legată.
  • Când se apelează o funcție, variabilele locale sunt stocate într-un teanc și sunt distruse automat odată returnate.
  • O stivă este utilizată atunci când o variabilă nu este utilizată în afara funcției respective.
  • Vă permite să controlați modul în care este alocată și alocată memoria.
  • Stack curăță automat obiectul.
  • Nu este ușor corupt
  • Variabilele nu pot fi redimensionate.