80 Java Samlingers interviewspørgsmål og svar (2025)

Her er Java Samlinger Interviewspørgsmål til friskere såvel som erfarne kandidater til at få deres drømmejob.

 

Java Samlinger Interview Spørgsmål og Svar til nybagte

1) Hvad er rammer i Java?

Et framework er en populær og færdiglavet arkitektur, der indeholder et sæt klasser og grænseflader.


2) Hvad er Indsamlingsrammen i Java?

Collection Framework er en gruppering af klasser og grænseflader, der bruges til at gemme og administrere objekterne. Det giver forskellige klasser som Vector, ArrayList, HashSet, Stack osv. Java Samlingsramme kan også bruges til grænseflader som kø, sæt, liste osv.

Java Samlinger Interviewspørgsmål


3) Forklar samlinger klasse

java.util.Collections er en klasse bestående af statiske metoder, der opererer på samlinger. Den indeholder polymorfe algoritmer til at operere på samlinger, "indpakninger". Denne klasse indeholder metoder til algoritmer, såsom binær sortering, søgning, shuffling osv.


4) Hvad er hashCode()?

HashCode() er en metode, der returnerer en heltals-hash-kode.


5) Skelne mellem ArrayList og Vector i Java indsamlingsramme.

ArrayList vektor
ArrayList kan ikke synkroniseres. Vektor kan være er synkroniseret.
Det er ikke en arveklasse. Det er en arveklasse.
Det kan øge sin størrelse med 50% af størrelsen af ​​arrayet. Det kan øge sin størrelse ved at fordoble størrelsen af ​​arrayet.
ArrayList er ikke trådsikker. Vector er trådsikker.

6) Hvad er ArrayList i Java?

ArrayList er en datastruktur, der kan strækkes til at rumme yderligere elementer i sig selv og skrumpe tilbage til en mindre størrelse, når elementer fjernes. Det er en meget vigtig datastruktur, der er nyttig til at håndtere elementers dynamiske adfærd.


7) Differentier mellem Iterator og ListIterator

Forskellen mellem Iterator og ListIterator er:

iterator ListIterator
Iteratoren kan krydse array-elementerne i fremadgående retning. ListIterator kan krydse array-elementerne i tilbage- og fremadgående retninger.
Det kan bruges i kø, liste og sæt. Det kan bruges i List.
Det kan kun udføre fjernoperation. Den kan udføre tilføjelse, fjernelse og indstilling, mens den krydser samlingen.

8) Hvad er forskellen mellem Iterator og Enumeration?

Forskellen mellem Iterator og Enumeration

iterator Enumeration
Iteratoren kan krydse både arv og ikke-legacy elementer. Optælling kan kun gennemløbe ældre elementer.
Iteratoren er fejlhurtig. Optælling er ikke fejl-hurtig.
Iteratoren er meget langsom sammenlignet med enumeration. Optælling er hurtig sammenlignet med Iterator.
Iteratoren kan udføre fjernelse, mens den krydser samlingen. Optællingen kan kun udføre traversering på samlingen.

9) Definer BlockingQueue

BlockingQueue er en grænseflade, der bruges i Java der kan forlænge køen. Det giver samtidighed i forskellige køoperationer som hentning, indsættelse, sletning osv.

Køen venter på at blive ikke tom på tidspunktet for at hente elementer. BlockingQueue bør ikke indeholde null-elementer. Implementeringen af ​​denne kø er trådsikker.

Syntaksen for BlockingQueue er:

public interface BlockingQueue<E> extends Queue <E>

10) Forklar tilsidesættelse equals() metode

Lige-metoden bruges til at kontrollere ligheden mellem to objekter. Hvis programmøren ønsker at kontrollere et objekt baseret på egenskaben, skal det tilsidesættes.


11) Hvad er forskellen mellem Comparable og Comparator?

Forskellen mellem Comparable og Comparator er:

Sammenlignelig komparator
Comparable giver compareTo() metode til at sortere elementer i Java. Comparator giver compare() metode til at sortere elementer i Java.
Sammenlignelig grænseflade er til stede i java.lang-pakken. Komparatorgrænseflade er til stede i java. util-pakke.
Sorteringslogikken skal være i den samme klasse, hvis objekt du skal sortere. Logikken i sortering bør være i en separat klasse for at skrive forskellig sortering baseret på forskellige attributter af objekter.
Klassen, hvis objekter du vil sortere, skal implementere den sammenlignelige grænseflade. Klasse, hvis objekter du vil sortere, behøver ikke at implementere en komparatorgrænseflade.
Det giver enkelte sorteringssekvenser. Det giver flere sorteringssekvenser.
Denne metode kan sortere dataene efter den naturlige sorteringsrækkefølge. Denne metode sorterer dataene i henhold til den tilpassede sorteringsrækkefølge.
Det påvirker den oprindelige klasse. dvs. den faktiske klasse ændres. Det påvirker ikke den oprindelige klasse, dvs. den faktiske klasse ændres ikke.
Implementeret ofte i API'et af kalender, Wrapper-klasser, dato og streng. Det er implementeret til at sortere forekomster af tredjepartsklasser.
Alle wrapper-klasser og String-klassen implementerer den sammenlignelige grænseflade. De eneste implementerede klasser af Comparator er Collator og RuleBasedColator.

12) Forklar equals() med eksempel

Equals() verificerer, om nummerobjektet er lig med objektet, som sendes som et argument eller ej.

Syntaksen for equals()-metoden er:

public boolean equals(Object o)

Denne metode tager to parametre 1) ethvert objekt, 2) returværdi. Det returnerer sandt, hvis det beståede argument ikke er null og er et objekt af en lignende type med samme numeriske værdi.

Eksempel:

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) Angiv fordelene ved generisk indsamling

Fordelene ved at bruge den generiske samling er:

  • Hvis programmørerne bruger generisk klasse, kræver de ikke typecasting.
  • Den er typesikker og kan kontrolleres på tidspunktet for kompilering.
  • Det giver kodens stabilitet ved at detektere fejl på kompileringstidspunktet.

14) Forklar metoden til at konvertere ArrayList til Array og Array til ArrayList

Programmører kan konvertere en Array til ArrayList ved hjælp af asList() metoden i Arrays-klassen. Det er en statisk metode af Arrays-klassen, der accepterer List-objektet. Syntaksen for asList() metoden er:

Arrays.asList(item)

Java programmører kan konvertere ArrayList til List-objektet ved hjælp af syntaks:

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

15) Giv et eksempel på ArrayList

Eksemplet på omvendt ArrayList er:

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) Giv et eksempel på at sortere et array i faldende rækkefølge

Eksemplet på sortering af et array i faldende rækkefølge er:

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) Forklar de grundlæggende grænseflader for Java samlingsramme

Java samlingsramme er en rod i samlingshierarkiet. Den repræsenterer en gruppe af objekter som dens elementer. De Java programmeringssproget giver ikke en direkte implementering af en sådan grænseflade.

  • Sæt: Sæt er en samling uden duplikerede elementer. Den bruger hashable til lagring af elementer.
  • Liste: Liste er en ordnet samling, der kan indeholde duplikerede elementer. Det gør det muligt for udviklere at få adgang til alle elementer fra dens indbakke. Listen er som et array med en dynamisk længde.
  • KORT: Det er et objekt, der kortlægger nøgler til værdier. Den kan ikke indeholde duplikerede nøgler. Hver nøgle kan tilknyttes mindst én værdi.

18) Hvad er kendetegnene ved Java Hashmap?

Funktioner af Java Hashmap er:

  • Værdierne kan gemmes i et kort ved at danne et nøgleværdi-par. Værdien kan hentes ved hjælp af nøglen ved at overføre den til den korrekte metode.
  • Hvis der ikke findes noget element i kortet, vil det kaste en 'NoSuchElementException'.
  • HashMap gemmer kun objektreferencer. Derfor er det umuligt at bruge primitive datatyper som double eller int. Brug indpakningsklasse (som Integer eller Double) i stedet.


19) Hvad er en stak?

En stak er et særligt område af computerens hukommelse, der gemmer midlertidige variabler skabt af en funktion. I stakken erklæres, lagres og initialiseres variabler under kørsel.


20) Hvad er linket liste?

En sammenkædet liste er en datastruktur, der kan gemme en samling af elementer. Med andre ord kan sammenkædede lister bruges til at gemme flere objekter af samme type. Hver enhed eller element på listen omtales som en node. En node på den linkede liste har sine data og adressen på den næste node. Det er som en kæde. Linkede lister bruges til at lave grafer og træer.


Java Samlinger Interview Spørgsmål og Svar til Erfarne

21) Giv et eksempel på ArrayList

Eksemplet på ArrayList er:

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) Forklar linket liste understøttet af Java

To typer af linkede lister understøttes af Java er:

  • Enkelt linket liste: Enkeltforbundet liste er en type datastruktur. I en enkelt-linket liste gemmer hver node på listen indholdet af noden og en reference eller pointer til den næste node på listen. Den gemmer ingen reference eller pointer til den forrige node.
  • Dobbeltlinkede lister: Dobbelt lænkede lister er en speciel type lænkede lister, hvor krydsning på tværs af dataelementerne kan udføres i begge retninger. Dette er gjort muligt ved at have to links i hver node, en der linker til den næste node og en anden der forbinder til den forrige node.

23) Forklar de metoder, som Queue-grænsefladen tilbyder?

Metoder til Java Køgrænsefladen er:

Metode Description
boolsk tilføjelse(objekt) Indsætter specificeret element i køen. Det vender tilbage, hvis det bliver en succes.
boolesk tilbud (objekt) Denne metode bruges til at indsætte elementet i køen.
Fjern objekt () Den henter og fjerner køhovedet.
Objektafstemning () (): Den henter og fjerner køhovedet eller returnerer null i tilfælde af, at den er tom.
Objektafstemning () Den henter og fjerner køhovedet eller returnerer null i tilfælde af, at den er tom.
Objektelement () Henter dataene fra køen, men fjerner ikke hovedet.
Objektkig () Henter data fra køen, men fjerner ikke hovedet, eller i tilfælde af, at hvis køen er tom, vil den hente null.

24) Nævn metoderne leveret af Stack-klassen

Vigtige metoder leveret af Stack-klassen er:

  • skubbe(): Skub emnet ind i stakken.
  • tom (): Denne metode finder ud af, om stakken er tom eller ej.
  • pop (): Denne Java collection framework-metoden fjerner objektet fra stakken.
  • Søg (): Denne metode søger efter elementer i stakken.
  • kig (): Denne Java metoden ser på stakobjektet uden at fjerne det.

25) Definer emptySet() i Java samlingsramme

Metode emptySet(), der returnerer det tomme uforanderlige sæt, når programmører forsøger at fjerne null-elementer. Sættet, som returneres af emptySet() kan serialiseres. Syntaksen for denne metode er:

offentlig statisk finale Sæt emptySet()


26) skelne mellem samling og samlinger

Forskellen mellem samling og samlinger er:

Kollektion Kollektioner
Samlingen er en grænseflade. Samlinger er en klasse.
Det repræsenterer en gruppe af objekter som en enkelt enhed. Den definerer forskellige hjælpemetoder til samlingsobjekter.
Samlingen er rodgrænsefladen til Java Indsamlingsramme. Samlinger er en generel brugsklasse.
Denne grænseflade bruges til at udlede indsamlingsdatastrukturerne. Denne klasse indeholder statiske metoder til at manipulere datastruktur.

27) Definer LinkedHashSet i Java Indsamlingsramme?

LinkedHashSet er en underklasse af klassen kaldet HashSet og implementerer sætgrænsefladen. Det er en velordnet version af HashSet, der opretholder en dobbelt-linket liste på tværs af dets alle elementer.


28) Hvad er forskellen mellem failfast og failsafe?

Fejlfast Fejlsikker
Det tillader ikke samlingsændring under iteration. Det tillader samlingsmodifikation under iteration.
Det kan kaste ConcurrentModificationException Det kan ikke give nogen undtagelse.
Den bruger den originale samling til at krydse elementerne. Den bruger en original samlingskopi til at krydse elementerne.
Der er intet krav om ekstra hukommelse. Der er et krav om ekstra hukommelse.

29) Listesamlingsvisninger af en kortgrænseflade

Samlingsvisninger af kortgrænsefladen er: 1) nøglesætvisning, 2) værdisætvisning og 3) visning af indgangssæt.


30) Hvad er fordelene ved indsamlingsrammen i Java?

Fordelene ved Collection Framework i Java er:

  • Java indsamlingsramme tilbyder yderst effektive og effektive datastrukturer, der forbedrer programmets nøjagtighed og hastighed.
  • Programmet udviklet med Java indsamlingsramme er nem at vedligeholde.
  • En udvikler kan blande klasser med andre typer, der resulterer i at øge genbrugbarheden af ​​kode.
  • Java samlingsramme gør det muligt for programmører at ændre de primitive samlingstyper, som de vil.

31) Hvad er en god måde at sortere samlingsobjekterne på Java?

En god måde at sortere på Java samlingsobjekter bruger Comparable og Comparator-grænseflader. En udvikler kan bruge Collections.sort(), elementerne er sorteret ud fra rækkefølgen, der nævnes i compareTo().

Når en udvikler bruger Collections, sort (Comparator), sorterer den objekterne afhængigt af compare() i Comparator-grænsefladen.


32) Forklar Vector i Java

Vektoren er den samme som en matrix. Den har komponenter, der kan tilgås ved hjælp af en indeksværdi. Vektorer kan indeholde en ældre metode, der ikke er en del af samlingsrammerne.


33) Hvad er forskellen mellem Set og Map?

sæt Kort
Sættet tilhører package-java.util. Kortet tilhører pakke-java.util.
Det kan udvide samlingsgrænsefladen. Det udvider ikke indsamlingsgrænsefladen.
Det tillader ikke duplikerede værdier. Det tillader duplikerede værdier.
Sæt kan kun sortere én nulværdi. Kortet kan sortere flere nulværdier.

34) Definer ordbogsklasse

Ordbogsklassen er en Java klasse, der har en evne til at gemme nøgleværdi-par.


35) Definer EnumSet

java.util.EnumSet er Set-implementering, der kan bruges med enum-typer. EnumSet med alle elementer skal komme fra én enum-type, der er angivet eksplicit eller implicit. Det er ikke synkroniseret, og null-nøgler er heller ikke tilladt. EnumSet giver metoder som EnumSetof(E first, E… rest), complementOf(EnumSet s) og copyOf(Collection c).


36) Hvad er de to måder at fjerne dubletter fra ArrayList?

To måder at fjerne dubletter fra ArrayList på er:

  • HashSet: Udvikler kan bruge HashSet til at fjerne det duplikerede element fra ArrayList. Ulempen er, at den ikke kan bevare indsættelsesrækkefølgen.
  • LinkedHashSet: Udviklere kan også opretholde rækkefølgen for indsættelse ved at bruge LinkedHashSet i stedet for HashSet.

37) Hvad er IdentityHashMap?

IdentityHashMap er en klasse, der implementerer Serializable, Clonable interfaces, Map og udvider AbstractMap-klassen. Den er designet til det tilfælde, hvor der er behov for reference-lighed semantik.


38) Hvad er WeakHashMap?

WeakHashMap er en implementering af Java Kort. Den bruges til at gemme svage referencer til dens nøgler. Sortering ved hjælp af dette kort gør det muligt at samle et nøgleværdi-par som skrald. Dens nøgle er ikke refereret uden for WeakHashMap.


39) Hvad er metoderne til at gøre samlingen trådsikker?

Metoderne til at gøre samlingstråd sikker er:

  • Collections.synchronizedList(liste);
  • Collections.synchronizedMap(map);
  • Collections.synchronizedSet(set);

40) Forklar ikke understøttetOperationException

Ikke-understøttetOperationException er en undtagelse, som er smidt på metoder, der ikke understøttes af den faktiske samlingstype.

For eksempel laver udvikleren en skrivebeskyttet liste ved hjælp af "Collections.unmodifiableList(list)" og kalder call(), add() eller remove() metoden. Det bør klart kaste UnsupportedOperationException.


41) Navngiv de samlingsklasser, der giver tilfældig elementadgang til dets elementer

Samlingsklasser, der giver tilfældig elementadgang til dets elementer, er: 1) ArrayList, 2) HashMap, 3) TreeMap og 4) Hashtable.


42) Forklar forskellen mellem Queue og Deque.

og
Det kaldes en single-ended Queue Det kaldes en double-ended Queue
Elementer i køen tilføjes eller fjernes fra den ene ende Elementer i køen tilføjes fra begge ender kan tilføjes og fjernes fra begge ender
Det er mindre alsidigt. Det er mere alsidigt.

43) Nævn implementeringsgrænsefladen List og Set

Klasseimplementeringslistegrænseflade: 1) ArrayList, 2) Vector og 3) LinkedList.

Klasseimplementerende sæt-grænseflade: 1) HashSet og 2) TreeSet.


44) Forklar designmønsteret efterfulgt af Iterator

Iteratoren følger detaljerne i iteratordesignmønsteret. Det giver udviklere mulighed for at navigere gennem objektsamlingerne ved hjælp af en fælles grænseflade uden at kende dens implementering.


45) Hvad er peek() af Queue-grænsefladen?

Peek () er en metode til kø-grænseflade. Den henter alle elementerne, men fjerner ikke køhovedet. Hvis køen er tom, vil denne metode returnere null.


46) Hvad er CopyOnWriteArrayList?

CopyOnWriteArrayList er en variant af ArrayList, hvor operationer som add og set implementeres ved at oprette en kopi af arrayet. Det er trådsikkert, og derved kaster det ikke ConcurrentModificationException. Denne ArrayLists tillader alle elementer, inklusive null.


47) Differentier mellem ArrayList og LinkedList

Forskellen mellem ArrayList og LinkedList er:

ArrayList LinkedList
Den bruger et dynamisk array. Den bruger en dobbelt-linket liste.
ArrayList er ikke at foretrække til manipulation. LinkedList er at foretrække til manipulation.
ArrayList giver tilfældig adgang. LinkedList giver ikke tilfældig adgang.
ArrayList s gemmer kun objekter, hvorfor det tager mindre overhead af hukommelsen LinkedList gemmer objekt såvel som adresseobjekt; derfor kræver det mere overhead af hukommelsen.

48) Forklar metoderne til iterator-interface

Metoder til iterator-interface er:

Metode Description
public boolean hasNext() Det returnerer sandt i iteratoren har elementer; ellers returnerer den falsk.
offentligt objekt næste() Denne metode returnerer elementet og flytter markøren til den næste værdi.
public void remove() Denne Java metode kan fjerne de sidste elementer returneret af iteratoren. Public void remove() bruges mindre.

49) Hvad er metoderne i HashSet-klassen?

Metoder til HashSet-klassen er:

Metoder Description
boolsk tilføjelse(Objekt o) Denne metode tilføjer omtaleelementet til dette sæt, hvis det ikke allerede er til stede.
boolesk indeholder(Objekt o): Det returnerer sandt, hvis sættet indeholder det angivne element.
void clear(): Denne metode fjerner sætelementer.
boolean er tom(): Det returnerer sandt i tilfældet, sættet har ingen elementer.
boolesk fjern(Objekt o): Det fjerner det angivne element fra sættet.
objekt klon(): Denne metode returnerer en kopi af HashSet-forekomsten: selve elementerne klones ikke.
iterator iterator() Det returnerer en iterator over elementerne i dette sæt.
int størrelse(): Det returnerer antallet af tilgængelige elementer i sættet.

50) Hvad er metoderne til Java TreeSet klasse?

Metoderne til Java TreeSet-klassen er:

Metoder Descriptioner
boolsk addAll (samling c) Tilføj alle elementerne i den angivne samling til dette sæt.
boolean indeholder (Objekt o) Returnerer sand, hvis sættet indeholder omtaleelementet.
boolsk isEmpty () Denne Java metode returnerer sand, hvis dette sæt ikke indeholder nogen elementer.
boolsk fjernelse (Objekt o) Fjern det angivne element fra sættet.
void add(Object o) Det tilføjer det angivne element til sættet.
ugyldigt klart () Denne Java metode fjerner alle elementer fra sættet.

51) Forklar Linked HashSet

Java LinkedHashSet-klassen er en Linked-liste- og Hash-tabelimplementering af Set-grænsefladen. Det indeholder unikke elementer, det samme som et HashSet. Linket HashSet ind Java giver også valgfri sæt operationer, der kan opretholde rækkefølgen af ​​indsættelse.


52) Hvad er de vigtige metoder, der bruges i en linket liste?

De vigtige metoder, der bruges i den linkede liste er:

Metode Description
boolsk tilføjelse( Objekt o) Det bruges til at tilføje det angivne element til slutningen af ​​vektoren.
boolean indeholder (Objekt o) Det er en metode, der returnerer sand, hvis denne liste indeholder det angivne element.
void add (int index, Object element) Indsætter elementet ved det angivne element i vektoren.
void addFirst(Object o) Det bruges til at indsætte det givne element i begyndelsen.
void addLast(Object o) Det bruges til at tilføje det givne element til slutningen.
Int størrelse() Denne metode kan bruges til at returnere det samlede antal elementer i en liste.
boolsk fjernelse (Objekt o) Det kan fjerne den første forekomst af det angivne element fra denne liste.
int indexOf(Objektelement) Denne Java metode returnerer indekset med den første forekomst af omtaleelementet i denne liste, eller -1.
int lastIndexOf(Objektelement) Det er et Java metode, der returnerer indekset med den sidste forekomst af det angivne element på denne liste, eller -1.

53) Liste over forskellige klasser, der er tilgængelige i sæt

Forskellige klasser tilgængelige i sæt er: HashSet, TreeSetand og LinkedHashSet.


54) Liste metoder tilgængelige i Java Kø interface

  • boolsk tilføjelse(objekt)
  • boolesk tilbud (objekt)
  • objekt fjern()
  • objektundersøgelse()
  • objekt element()
  • objekt kig()

55) skelne mellem liste og sæt.

Liste sæt
En ordnet samling af elementer En uordnet samling af elementer
Bevarer indsættelsesrækkefølgen Bevarer ikke indsættelsesrækkefølgen
Duplikerede værdier er tilladt Duplikerede værdier er ikke tilladt
Et hvilket som helst antal null-værdier kan gemmes Der kan kun gemmes én nulværdi
ListIterator kan bruges til at krydse listen i enhver retning ListIterator kan ikke bruges til at krydse et sæt
Indeholder en ældre klasse kaldet vektor Indeholder ikke nogen ældre klasse

Java Samlinger interview spørgsmål og svar for 5+ års erfaring

56) Forklar for hver sløjfe med eksempel

For-Each Loop er en anden form for for-løkke, der bruges til at krydse arrayet. Det reducerer koden markant, og der er ingen brug af indekset eller rettere tælleren i løkken.

Eksempel på for hver sløjfe:

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) Forklar diamantoperator

Diamantoperatoren gør det muligt for compileren at indsamle typeargumenterne for generisk klasse. I Java SE kan udvikleren erstatte den parametriserede konstruktør med et tomt parametersæt (<>) kendt som diamantoperator.


58) Forklar randomaccess-grænsefladen

RandomAccess-grænsefladen bruges af List-implementeringer til indikation af, at de understøtter hurtigt.


59) Navngiv de samlingsklasser, der implementerer random access interface

Java.util-pakken har klasser, der kan implementere random access-grænsefladen: CopyOnWriteArrayList, Stack, ArrayList og Vector.


60) Hvordan tilmelder man sig flere ArrayLists?

Listen giver en addall()-metode flere ArrayList i Java.

Overvej for eksempel to lister 1) areaList og 2) secondAreaList. En udvikler kan slutte sig til dem ved hjælp af addall() som:

areaList.addAll(secondAreaList);


61) Forklar deque Interface

Java.util.Deque er Java, en grænseflade, der udvider kø-grænsefladen. Det giver støtte til indsættelse og sletning af elementer i begge ender. Denne kø kaldes også en dobbeltkø.


62) Forklar Linkedhashmap

LinkedHashMap er implementeringen af ​​kortgrænsefladen. Det kan også udvide HashMap-klassen. Derfor, ligesom HashMap, aktiverer LinkedHashMap Java udviklere til at tillade én null-nøgle og mere end én null-værdi.


63) Forklar metoder til at fjerne elementer fra ArrayList

Metoderne til at fjerne elementer fra ArrayList er:

Metode Description
klar() Denne metode fjerner elementerne fra ArrayList.
fjern (int indeks) Denne metode til ArrayList kan fjerne elementet på en bestemt position.
fjern(Objekt o) Det kan fjerne den første forekomst af omtaleelementet fra ArrayList.
Fjern alt() Det kan fjerne listen over elementer, der er i en bestemt samling.
removeIf(prædikat filter) Denne metode fjerner elementer, der opfylder omtalen af ​​et prædikat.

64) Forklar kort. indtastning i kort

Map.entry er en Java grænseflade af java.util. Det har en indlejret grænseflade i Map. Denne grænseflade skal være kvalificeret af navnet på den klasse eller grænseflade, som den er medlem af. Derfor er det kvalificeret som et kort. Indgang. Det repræsenterer et nøgle- og værdipar, der kan udgøre et element i et kort.

Denne metode returnerer en visning af samlingen. Betragt f.eks. cityMap som et kort. Udvikleren kan bruge entrySet() til at få den indstillede visning af et kort med et element Map.Entry. Programmer kan også bruge getKey() og getValue() af Map.Entry for at få nøgleparret og kortets værdi.


65) Hvilken metode bruges til at sortere et array i stigende rækkefølge?

Java samlingsrammemetoden, Collections.sort() bruges til at sortere et array i stigende rækkefølge.


66) Hvordan måler man ydeevnen af ​​en ArrayList?

ArrayLists ydeevne kan måles ved:

  • Tilføjelse af et element: Udvikler kan tilføje et element i slutningen af ​​ArrayList ved hjælp af add(E e) metoden. Det er O(1). I værste tilfælde kan det gå til O(n). Dette kan ske, hvis udvikleren tilføjer flere elementer end arraykapaciteten.
  • Hentning af et element: Udvikler kan få adgang til array-indekset ved hjælp af get(int index). Ydeevnen, i dette tilfælde, kan måles ved hjælp af ArrayList get() er O(1).
  • Fjernelse af et element: Hvis udviklerne fjerner elementet ved hjælp af remove(int index), så kan ydeevnen af ​​ArrayList beregnes ved at bruge fjerne(int index) operationen er O(n – index) metoden.

67) Forklar LinkedList-klassen

LinkedList klasse i Java implementerer Deque og List ved hjælp af en dobbelt linket liste. Der er en privat klasse node i en dobbelt-linket liste, som giver dens struktur. Den har også en elementvariabel til at holde værdien og reference til Node-klassen. Dette kan bruges til at forbinde næste og forrige noder.


68) Giv et eksempel på Hashmap

Eksemplet på Hashmap er:

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) Hvordan gentages kort?

Udvikleren kan ikke gentage kort direkte, men denne grænseflade har to metoder, der giver visningssæt af kort. Disse metoder er:

  • Sæt >entrySet(): Det er en metode, der returnerer et sæt med de indgange, der er nævnt i kortet. Disse poster er generelt indvendt, som har typen Kort. Indgang.
  • Sæt keySet(): Denne Java metode returnerer et sæt, der har kortnøglen.

70) Forklar Trækort i Java

TreeMap er en klasse, der implementerer kortgrænsefladen LinkedHashMap og HashMap. Det kan også implementere NavigableMap-grænsefladen og kan udvide AbstractMap-klassen.


71) Hvad er forskellen mellem Hashmap og Hashtable?

Hashmap hashtabelsamling
Det er ikke synkroniseret. Det er synkroniseret.
HashMap tillader én nøgle som en nulværdi. HashTable tillader ikke null-værdier.
Iterator bruges til at krydse HashMap. Enten Iterator eller Enumerator bruges til at krydse en HashTable.
Den kan bruges til både HashTable, HashMap og er fejlhurtig. Den kan bruges med HashTable og er fejlsikker.
HashMap udfører hurtigere end HashTable. Hashtable er ikke meget hurtigere sammenlignet med HashMap.

72) Forklar den interne funktion af HashSet in Java

HashSet ind Java internt bruger HashMap til at gemme elementer. Det kan også gemme unikke værdier uden duplikerede værdier.

In Java, HashSet-udvikler kan have add(E e)-metoden, der kun tager det element, der skal tilføjes, som en parameter. Den accepterer ikke nøgle- og værdiparret.


73) Forklar Big-O notation med et eksempel

Big-O-notationen viser ydeevnen af ​​en algoritme som antallet af elementer i ArrayList. En udvikler kan bruge Big-O-notation til at vælge samlingsimplementeringen. Det er baseret på ydeevne, tid og hukommelse.

For eksempel er ArrayList get(index i) en metode til at udføre en konstant-tidsoperation. Det afhænger ikke af det samlede antal tilgængelige elementer på listen. Derfor er præstationen i Big-O notation O(1).


74) Forklar bedste praksis i Java Indsamlingsramme

Den bedste praksis i Java Indsamlingsrammerne er:

  • Vælg den rigtige type samling afhænger af behovet.
  • Undgå rehashing eller ændring af størrelse ved at estimere det samlede antal elementer, der skal gemmes i samlingsklasser.
  • Skriv en Java program med hensyn til grænseflader. Dette vil hjælpe udvikleren med at ændre sin implementering uden besvær i fremtiden.
  • En udvikler kan bruge Generics til typesikkerhed.
  • Brug uforanderlige klasser givet af Java Udviklingssæt. Undgå implementering af equals() og hashCode() for brugerdefinerede klasser.
  • En programmør bør bruge hjælpeklassen Collections til algoritmer eller for at få skrivebeskyttede, synkroniserede eller tomme samlinger. Dette vil forbedre genbrugbarheden af ​​koden med lav vedligeholdelse.

75) Forklar forskellige typer køer i Java

Der er tre typer køer i Java:

  • Prioritetskø: Det er en speciel type kø, hvor elementer er sorteret efter deres naturlige bestilling eller tilpassede komparator.
  • Cirkulær kø: Det er en type kø, hvor brugerhandlinger udføres baseret på FIFO-metoden. Det sidste element er forbundet til den første position for at lave en cirkel.
  • Double-afsluttet kø: En dobbeltkø er en abstrakt datatype, der generaliserer en kø. Elementerne i denne kø kan tilføjes eller fjernes fra enten hoved eller hale.

76) Hvad er forskellen mellem stak og kø?

Stak
Arbejdsprincippet for stakken er LIFO. Arbejdsprincippet for køen er FIFO.
Den ene ende bruges til at udføre indsættelse eller sletning af elementer. Den ene ende bruges til at udføre indsættelse, og en anden ende bruges til sletning af elementer.
Den bruger én pointer. Den bruger to pointere i en simpel kø.
Den har ikke nogen form for variant. Den har varianter som prioriteret kø, cirkulær kø, dobbelt afsluttet kø.
Det er nemt at bruge. Det er ikke nemt at bruge.

77) Hvad er forskellen mellem array og stack?

Forskellen mellem array og stack er:

Array Stak
Det er en samling af elementer, der identificeres af indekset. Det er en indsamlingsoperation, der fungerer som operationer push og pop.
Det har elementer af datatyper, som er ens. Det har elementer af datatyper, som er forskellige.
Elementer kan fjernes eller tilføjes til arrayet ved hjælp af random access-operation. Elementer kan fjernes eller tilføjes i en stak ved hjælp af LIFO-drift.

78) Definer Iterator()

Iterator() er en grænseflade, der giver metoder til at iterere samling. Iterator kan træde i stedet for Enumeration i Java. Det giver den, der ringer, mulighed for at fjerne elementer fra samlingen. Metoden giver en generisk måde at krydse på ved hjælp af elementer fra samlingen og implementering af iteratordesignmønster.


79) Hvad er de forskellige måder at gentage en liste på?

Java Collection Framework-programmør kan iterere over en liste på to måder: 1) ved at bruge iterator og 2) ved at bruge den til hver loop.


80) Hvad er fordelene ved stakken?

Fordelene ved stakken er:

  • Det hjælper dig med at administrere dataene i en LIFO-metode (Last In First Out), hvilket ikke er muligt med den linkede liste og array.
  • Når en funktion kaldes, gemmes de lokale variable i en stak, og den bliver automatisk ødelagt, når den først returneres.
  • En stak bruges, når en variabel ikke bruges uden for denne funktion.
  • Det giver dig mulighed for at kontrollere, hvordan hukommelse tildeles og deallokeres.
  • Stack renser automatisk objektet.
  • Ikke let korrumperet
  • Variabler kan ikke ændres størrelse.

Disse interviewspørgsmål vil også hjælpe i din viva(orals)