80 Java Samlinger Intervju Spørsmål og Svar (2025)
Java Samlinger Intervju Spørsmål og Svar for Freshers
1) Hva ligger rammer i Java?
Et rammeverk er en populær og ferdiglaget arkitektur som inneholder et sett med klasser og grensesnitt.
2) Hva er innsamlingsrammen i Java?
Collection Framework er en gruppering av klasser og grensesnitt som brukes til å lagre og administrere objektene. Det gir forskjellige klasser som Vector, ArrayList, HashSet, Stack, etc. Java Samlingsrammeverket kan også brukes for grensesnitt som Queue, Set, List, etc.
3) Forklar samlinger klasse
java.util.Collections er en klasse som består av statiske metoder som opererer på samlinger. Den inneholder polymorfe algoritmer for å operere på samlinger, "omslag". Denne klassen inneholder metoder for algoritmer, som binær sortering, søk, stokking, etc.
4) Hva er hashCode()?
HashCode() er en metode som returnerer en heltalls hashkode.
5) Skill mellom ArrayList og Vector i Java innsamlingsramme.
ArrayList | vektor |
---|---|
ArrayList kan ikke synkroniseres. | Vektor kan være er synkronisert. |
Det er ikke en arv klasse. | Det er en arv klasse. |
Den kan øke størrelsen med 50 % av størrelsen på matrisen. | Den kan øke størrelsen ved å doble størrelsen på matrisen. |
ArrayList er ikke trådsikker. | Vector er trådsikker. |
6) Hva er ArrayList i Java?
ArrayList er en datastruktur som kan strekkes for å romme flere elementer i seg selv og krympe tilbake til en mindre størrelse når elementer fjernes. Det er en svært viktig datastruktur som er nyttig for å håndtere den dynamiske oppførselen til elementer.
7) Skille mellom Iterator og ListIterator
Forskjellen mellom Iterator og ListIterator er:
iterator | ListIterator |
---|---|
Iteratoren kan krysse array-elementene i foroverretningen. | ListIterator kan krysse array-elementene både bakover og fremover. |
Den kan brukes i kø, liste og sett. | Den kan brukes i List. |
Den kan bare utføre fjernoperasjoner. | Den kan utføre legge til, fjerne og angi operasjoner mens den går gjennom samlingen. |
8) Hva er forskjellen mellom Iterator og Enumeration?
Forskjellen mellom Iterator og Enumeration
iterator | oppregning |
---|---|
Iteratoren kan krysse både arv så vel som ikke-legacy elementer. | Oppregning kan bare krysse eldre elementer. |
Iteratoren er feilrask. | Oppregningen er ikke rask. |
Iteratoren er veldig treg sammenlignet med Enumeration. | Opptelling er raskt sammenlignet med Iterator. |
Iteratoren kan utføre fjerningsoperasjon mens den går gjennom samlingen. | Enumerasjonen kan kun utføre traversering på samlingen. |
9) Definer BlockingQueue
BlockingQueue er et grensesnitt som brukes i Java som kan forlenge køen. Det gir samtidighet i ulike køoperasjoner som henting, innsetting, sletting, etc.
Køen venter på å bli tom på tidspunktet for å hente noen elementer. BlockingQueue skal ikke inneholde null-elementer. Implementeringen av denne køen er trådsikker.
Syntaksen til BlockingQueue er:
public interface BlockingQueue<E> extends Queue <E>
10) Forklar overstyre equals()-metoden
Lik metoden brukes til å sjekke likheten mellom to objekter. Hvis programmereren ønsker å sjekke et objekt basert på egenskapen, må det overstyres.
11) Hva er forskjellen mellom Comparable og Comparator?
Forskjellen mellom Comparable og Comparator er:
Sammenlignelig | Komparator |
---|---|
Comparable gir compareTo()-metoden for å sortere elementer i Java. | Comparator gir compare() metode for å sortere elementer i Java. |
Sammenlignbart grensesnitt er til stede i java.lang-pakken. | Komparatorgrensesnitt er til stede i java. util-pakken. |
Logikken for sortering må være i samme klasse hvis objektet du skal sortere. | Logikken for sortering bør være i en egen klasse for å skrive forskjellig sortering basert på forskjellige attributter til objekter. |
Klassen hvis objekter du vil sortere, må implementere det sammenlignbare grensesnittet. | Klasse, hvis objekter du vil sortere, trenger ikke å implementere et komparatorgrensesnitt. |
Den gir enkelt sorteringssekvenser. | Det gir flere sorteringssekvenser. |
Denne metoden kan sortere dataene i henhold til den naturlige sorteringsrekkefølgen. | Denne metoden sorterer dataene i henhold til den tilpassede sorteringsrekkefølgen. |
Det påvirker den opprinnelige klassen. dvs. den faktiske klassen er endret. | Det påvirker ikke den opprinnelige klassen, dvs. den faktiske klassen endres ikke. |
Implementert ofte i API-en av kalender, Wrapper-klasser, dato og streng. | Den er implementert for å sortere forekomster av tredjepartsklasser. |
Alle wrapper-klasser og String-klassen implementerer det sammenlignbare grensesnittet. | De eneste implementerte klassene av Comparator er Collator og RuleBasedColator. |
12) Forklar equals() med eksempel
Equals() bekrefter om tallobjektet er lik objektet, som sendes som et argument eller ikke.
Syntaksen til equals()-metoden er:
public boolean equals(Object o)
Denne metoden tar to parametere 1) ethvert objekt, 2) returverdi. Det returnerer sant hvis det beståtte argumentet ikke er null og er et objekt av lignende type med samme numeriske verdi.
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) List opp fordelene med generisk samling
Fordelene med å bruke den generiske samlingen er:
- Hvis programmererne bruker generisk klasse, krever de ikke typecasting.
- Den er typesikker og kan kontrolleres ved kompilering.
- Det gir stabiliteten til koden ved å oppdage feil på kompileringstidspunktet.
14) Forklar metoden for å konvertere ArrayList til Array og Array til ArrayList
Programmerere kan konvertere en Array til ArrayList ved å bruke asList()-metoden i Arrays-klassen. Det er en statisk metode for Arrays-klassen som aksepterer List-objektet. Syntaksen til asList()-metoden er:
Arrays.asList(item)
Java programmerere kan konvertere ArrayList til List-objektet ved å bruke syntaks:
List_object.toArray(new String[List_object.size()])
15) Gi 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) Gi et eksempel for å sortere en matrise i synkende rekkefølge
Eksemplet på sortering av en matrise i synkende rekkefø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 grunnleggende grensesnittene til Java samlingsramme
Java samlingsrammeverket er roten til samlingshierarkiet. Den representerer en gruppe objekter som dens elementer. De Java programmeringsspråk gir ikke en direkte implementering av et slikt grensesnitt.
- Sett: Sett er en samling uten dupliserte elementer. Den bruker hashable for å lagre elementer.
- Liste: Liste er en ordnet samling som kan inneholde dupliserte elementer. Det lar utviklere få tilgang til alle elementer fra innboksen. Listen er som en matrise med en dynamisk lengde.
- KART: Det er et objekt som kartlegger nøkler til verdier. Den kan ikke inneholde dupliserte nøkler. Hver nøkkel kan tilordnes til minst én verdi.
18) Hva er funksjonene ved Java Hashmap?
Funksjoner av Java Hashmap er:
- Verdiene kan lagres i et kart ved å danne et nøkkelverdi-par. Verdien kan hentes ved hjelp av nøkkelen ved å sende den til riktig metode.
- Hvis det ikke finnes noe element i kartet, vil det gi et "NoSuchElementException".
- HashMap lagrer kun objektreferanser. Det er derfor det er umulig å bruke primitive datatyper som double eller int. Bruk wrapper-klasse (som heltall eller Double) i stedet.
19) Hva er en stabel?
En stabel er et spesielt område av datamaskinens minne som lagrer midlertidige variabler opprettet av en funksjon. I stack blir variabler deklarert, lagret og initialisert under kjøring.
20) Hva er koblet liste?
En koblet liste er en datastruktur som kan lagre en samling av elementer. Med andre ord kan koblede lister brukes til å lagre flere objekter av samme type. Hver enhet eller element i listen blir referert til som en node. En node i den koblede listen har sine data og adressen til neste node. Det er som en kjede. Koblede lister brukes til å lage grafer og trær.
Java Samlinger Intervjuspørsmål og svar for erfarne
21) Gi 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 koblet liste støttet av Java
To typer koblede lister støttes av Java er:
- Enkeltlenket liste: Enkeltkoblet liste er en type datastruktur. I en enkeltlenket liste lagrer hver node i listen innholdet i noden og en referanse eller peker til neste node i listen. Den lagrer ingen referanse eller peker til forrige node.
- Dobbeltkoblede lister: Dobbeltkoblede lister er en spesiell type koblet liste der gjennomgang på tvers av dataelementene kan gjøres i begge retninger. Dette er muliggjort ved å ha to lenker i hver node, en som kobler til neste node og en annen som kobler til forrige node.
23) Forklar metodene som tilbys av Queue-grensesnittet?
Metoder for Java Køgrensesnittet er:
Metode | Tekniske beskrivelser |
---|---|
boolsk add(objekt) | Setter inn spesifisert element i køen. Det returnerer sant i tilfelle det lykkes. |
boolsk tilbud (objekt) | Denne metoden brukes til å sette inn elementet i køen. |
Objekt fjern() | Den henter og fjerner køhodet. |
Objektundersøkelse() | (): Den henter og fjerner køhodet eller returnerer null i tilfelle den er tom. |
Objektundersøkelse() | Den henter og fjerner køhodet eller returnerer null i tilfelle den er tom. |
Objektelement() | Henter dataene fra køen, men fjerner ikke hodet. |
Objekt kikk() | Henter dataene fra køen, men fjerner ikke hodet, eller i tilfelle, hvis køen er tom, vil den hente null. |
24) Nevn metodene gitt av Stack-klassen
Viktige metoder levert av Stack-klassen er:
- trykk(): Skyv gjenstanden inn i stabelen.
- tom (): Denne metoden finner ut om stabelen er tom eller ikke.
- pop (): Dette Java samlingsrammemetoden fjerner objektet fra stabelen.
- søk (): Denne metoden søker etter elementer i stabelen.
- titt (): Dette Java metoden ser på stabelobjektet uten å fjerne det.
25) Definer emptySet() i Java samlingsramme
Metode emptySet() som returnerer det tomme uforanderlige settet når programmerere prøver å fjerne null-elementer. Settet som returneres av emptySet() kan serialiseres. Syntaksen til denne metoden er:
offentlig statisk finale Sett emptySet()
26) Skille mellom samling og samlinger
Forskjellen mellom samling og samlinger er:
Samling | Kategorier |
---|---|
Samlingen er et grensesnitt. | Samlinger er en klasse. |
Den representerer en gruppe objekter som en enkelt enhet. | Den definerer ulike verktøymetoder for innsamlingsobjekter. |
Samlingen er rotgrensesnittet til Java Innsamlingsramme. | Samlinger er en generell bruksklasse. |
Dette grensesnittet brukes til å utlede innsamlingsdatastrukturene. | Denne klassen inneholder statiske metoder for å manipulere datastruktur. |
27) Definer LinkedHashSet i Java Innsamlingsramme?
LinkedHashSet er en underklasse av klassen kalt HashSet og implementerer settgrensesnittet. Det er en velordnet versjon av HashSet som opprettholder en dobbeltkoblet liste på tvers av alle elementene.
28) Hva er forskjellen mellom failfast og failsafe?
Feilfast | Failsafe |
---|---|
Den tillater ikke samlingsendringer under iterasjon. | Den tillater samlingsendringer mens du itererer. |
Det kan kaste ConcurrentModificationException | Det kan ikke gi noe unntak. |
Den bruker den originale samlingen for å krysse elementene. | Den bruker en original samlingskopi for å krysse elementene. |
Det er ingen krav om ekstra minne. | Det er krav om ekstra minne. |
29) Listesamlingsvisninger av et kartgrensesnitt
Samlingsvisninger av kartgrensesnittet er: 1) nøkkelsettvisning, 2) verdisettvisning og 3) inngangssettvisning.
30) Hva er fordelene med innsamlingsrammen i Java?
Fordelene med Collection Framework i Java er:
- Java innsamlingsrammeverket tilbyr svært effektive og effektive datastrukturer som forbedrer nøyaktigheten og hastigheten til programmet.
- Programmet utviklet med Java samlingsrammeverket er enkelt å vedlikeholde.
- En utvikler kan blande klasser med andre typer som resulterer i å øke gjenbrukbarheten av kode.
- Ocuco Java samlingsrammeverket gjør det mulig for programmerere å endre de primitive samlingstypene slik de vil.
31) Hva er en god måte å sortere samlingsobjektene på Java?
En god måte å sortere på Java samlingsobjekter bruker Comparable og Comparator-grensesnitt. En utvikler kan bruke Collections.sort(), elementene er sortert basert på rekkefølgen nevnt i compareTo().
Når en utvikler bruker Collections, sort (Comparator), sorterer den objektene avhengig av compare() i Comparator-grensesnittet.
32) Forklar Vector i Java
Vektoren er den samme som en matrise. Den har komponenter som kan nås ved hjelp av en indeksverdi. Vektorer kan inneholde en eldre metode som ikke er en del av samlingsrammeverket.
33) Hva er forskjellen mellom Set og Map?
Sett | kart |
---|---|
Settet tilhører pakken-java.util. | Kartet tilhører package-java.util. |
Det kan utvide samlingsgrensesnittet. | Det utvider ikke samlingsgrensesnittet. |
Den tillater ikke dupliserte verdier. | Det tillater dupliserte verdier. |
Settet kan bare sortere én nullverdi. | Kartet kan sortere flere nullverdier. |
34) Definer ordbokklasse
Ordbok-klassen er en Java klasse som har en evne til å lagre nøkkel-verdi-par.
35) Definer EnumSet
java.util.EnumSet er Set-implementering som kan brukes med enum-typer. EnumSet som har alle elementer må komme fra én enum-type spesifisert eksplisitt eller implisitt. Det er ikke synkronisert, og null-nøkler er heller ikke tillatt. EnumSet gir metoder som EnumSetof(E first, E… rest), complementOf(EnumSet s), og copyOf(Collection c).
36) Hva er de to måtene å fjerne duplikater fra ArrayList?
To måter å fjerne duplikater fra ArrayList på er:
- HashSet: Utvikleren kan bruke HashSet for å fjerne det dupliserte elementet fra ArrayList. Ulempen er at den ikke kan bevare innsettingsrekkefølgen.
- LinkedHashSet: Utviklere kan også opprettholde rekkefølgen for innsetting ved å bruke LinkedHashSet i stedet for HashSet.
37) Hva er IdentityHashMap?
IdentityHashMap er en klasse som implementerer Serializable, Clonable interfaces, Map og utvider AbstractMap-klassen. Den er designet for tilfellet der det er behov for referanse-likhet semantikk.
38) Hva er WeakHashMap?
WeakHashMap er en implementering av Java Kart. Den brukes til å lagre svake referanser til nøklene. Sortering ved hjelp av dette kartet lar et nøkkelverdi-par samles inn som søppel. Nøkkelen er ikke referert utenfor WeakHashMap.
39) Hva er metodene for å gjøre samlingen trådsikker?
Metodene for å gjøre samlingstråden trygg er:
- Collections.synchronizedList(liste);
- Collections.synchronizedMap(map);
- Collections.synchronizedSet(set);
40) Forklar støttes ikkeOperationException
UegnetOperationException er et unntak som kastes på metoder som ikke støttes av den faktiske samlingstypen.
For eksempel lager utvikleren en skrivebeskyttet liste ved å bruke "Collections.unmodifiableList(list)" og kaller call(), add() eller remove()-metoden. Det bør klart kaste UnsupportedOperationException.
41) Nevn samlingsklassene som gir tilfeldig elementtilgang til elementene
Samlingsklasser som gir tilfeldig elementtilgang til elementene er: 1) ArrayList, 2) HashMap, 3) TreeMap og 4) Hashtable.
42) Forklar forskjellen mellom Queue og Deque.
Kø | deque |
---|---|
Det kalles en single-ended kø | Det kalles en dobbel-ended kø |
Elementer i køen legges til eller fjernes fra den ene enden | Elementer i køen legges til fra begge ender kan legges til og fjernes fra begge ender |
Den er mindre allsidig. | Den er mer allsidig. |
43) Nevn implementeringsgrensesnittet List og Set
Klasseimplementeringslistegrensesnitt: 1) ArrayList, 2) Vector og 3) LinkedList.
Klasseimplementeringssett-grensesnitt: 1) HashSet og 2) TreeSet.
44) Forklar designmønsteret etterfulgt av Iterator
Iteratoren følger detaljene i iteratordesignmønsteret. Det gir utvikleren mulighet til å navigere gjennom objektsamlingene ved hjelp av et felles grensesnitt uten å vite implementeringen.
45) Hva er kikk() til Queue-grensesnittet?
Peek () er en metode for køgrensesnitt. Den henter alle elementene, men fjerner ikke køhodet. I tilfelle hvis køen er tom, vil denne metoden returnere null.
46) Hva er CopyOnWriteArrayList?
CopyOnWriteArrayList er en variant av ArrayList der operasjoner som add og set implementeres ved å lage en kopi av arrayen. Det er en trådsikker, og dermed kaster den ikke ConcurrentModificationException. Denne ArrayLists tillater alle elementene, inkludert null.
47) Skille mellom ArrayList og LinkedList
Forskjellen mellom ArrayList og LinkedList er:
ArrayList | LinkedList |
---|---|
Den bruker en dynamisk matrise. | Den bruker en dobbeltlenket liste. |
ArrayList er ikke å foretrekke for manipulering. | LinkedList er å foretrekke for manipulering. |
ArrayList gir tilfeldig tilgang. | LinkedList gir ikke tilfeldig tilgang. |
ArrayList lagrer bare objekter, og derfor tar det mindre overhead av minne | LinkedList lagrer objekt så vel som adresseobjekt; derfor krever det mer overhead av minne. |
48) Forklar metodene for iteratorgrensesnitt
Metoder for iteratorgrensesnitt er:
Metode | Tekniske beskrivelser |
---|---|
offentlig boolsk hasNext() | Det returnerer sant i iteratoren har elementer; ellers returnerer den falsk. |
offentlig objekt neste() | Denne metoden returnerer elementet og flytter pekeren til neste verdi. |
public void remove() | Dette Java metode kan fjerne de siste elementene returnert av iteratoren. Public void remove() brukes mindre. |
49) Hva er metodene for HashSet-klassen?
Metoder for HashSet-klassen er:
Metoder | Tekniske beskrivelser |
---|---|
boolsk add(Object o) | Denne metoden legger til omtaleelementet til dette settet hvis det ikke allerede er til stede. |
boolsk inneholder(Objekt o): | Det returnerer sant hvis settet inneholder det angitte elementet. |
void clear(): | Denne metoden fjerner settelementer. |
boolsk er tom(): | Det returnerer sant i tilfellet, settet har ingen elementer. |
boolsk fjern(Objekt o): | Den fjerner det angitte elementet fra settet. |
objekt klone(): | Denne metoden returnerer en kopi av HashSet-forekomsten: selve elementene er ikke klonet. |
iterator iterator() | Den returnerer en iterator over elementene i dette settet. |
int størrelse(): | Den returnerer antall elementer som er tilgjengelige i settet. |
50) Hva er metodene for Java TreeSet klasse?
Metodene for Java TreeSet-klassen er:
Metoder | Descriptioner |
---|---|
boolesk addAll(Samling c) | Legg til alle elementene i den angitte samlingen til dette settet. |
boolsk inneholder(Objekt o) | Returnerer sann hvis settet inneholder omtaleelementet. |
boolsk er tom() | Dette Java metoden returnerer sann hvis dette settet ikke inneholder noen elementer. |
boolsk fjern (Objekt o) | Fjern det angitte elementet fra settet. |
void add(Object o) | Den legger til det angitte elementet til settet. |
void clear() | Dette Java metoden fjerner alle elementene fra settet. |
51) Forklar Linked HashSet
Java LinkedHashSet-klassen er en koblet liste og Hash-tabellimplementering av Set-grensesnittet. Den inneholder unike elementer på samme måte som et HashSet. Koblet HashSet inn Java gir også valgfrie settoperasjoner som kan opprettholde rekkefølgen for innsetting.
52) Hva er de viktige metodene som brukes i en koblet liste?
De viktige metodene som brukes i den koblede listen er:
Metode | Tekniske beskrivelser |
---|---|
boolsk add( Object o) | Den brukes til å legge til det angitte elementet til slutten av vektoren. |
boolsk inneholder(Objekt o) | Det er en metode som returnerer sann hvis denne listen inneholder det angitte elementet. |
void add (int index, Object element) | Setter inn elementet ved det angitte elementet i vektoren. |
void addFirst(Object o) | Den brukes til å sette inn det gitte elementet i begynnelsen. |
void addLast(Objekt o) | Den brukes til å legge til det gitte elementet til slutten. |
Int størrelse() | Denne metoden kan brukes til å returnere det totale antallet elementer i en liste. |
boolsk fjern (Objekt o) | Den kan fjerne den første forekomsten av det angitte elementet fra denne listen. |
int indexOf(Objektelement) | Dette Java metoden returnerer indeksen med den første forekomsten av omtaleelementet i denne listen, eller -1. |
int lastIndexOf(Objektelement) | Det er en Java metode som returnerer indeksen med siste forekomst av det angitte elementet i denne listen, eller -1. |
53) Liste over forskjellige klasser som er tilgjengelige i sett
Ulike klasser tilgjengelig i sett er: HashSet, TreeSetand og LinkedHashSet.
54) Liste metoder tilgjengelig i Java Køgrensesnitt
- boolsk add(objekt)
- boolsk tilbud (objekt)
- objekt fjern()
- objektundersøkelse()
- objektelement()
- objekt kikk()
55) Skille mellom List og Set.
Liste | Sett |
---|---|
En ordnet samling av elementer | En uordnet samling av elementer |
Bevarer innsettingsrekkefølgen | Bevarer ikke innsettingsrekkefølgen |
Dupliserte verdier er tillatt | Dupliserte verdier er ikke tillatt |
Et hvilket som helst antall nullverdier kan lagres | Bare én nullverdi kan lagres |
ListIterator kan brukes til å krysse listen i alle retninger | ListIterator kan ikke brukes til å krysse et sett |
Inneholder en eldre klasse kalt vektor | Inneholder ingen eldre klasse |
Java Samlinger intervjuspørsmål og svar for 5+ års erfaring
56) Forklar for hver løkke med eksempel
For-Each Loop er en annen form for for-løkke som brukes til å krysse matrisen. Det reduserer koden betydelig, og det er ingen bruk av indeksen eller rettere sagt telleren i loopen.
Eksempel på for hver sløyfe:
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 diamantoperatør
Diamantoperator gjør det mulig for kompilatoren å samle typeargumentene til generisk klasse. I Java SE, utvikler kan erstatte den parameteriserte konstruktøren med tomme parametersett (<>) kjent som diamantoperator.
58) Forklar randomaccess-grensesnitt
RandomAccess-grensesnittet brukes av List-implementeringer for indikasjon på at de støtter raskt.
59) Nevn samlingsklassene som implementerer grensesnitt for tilfeldig tilgang
Java.util-pakken har klasser som kan implementere grensesnitt for tilfeldig tilgang er: CopyOnWriteArrayList, Stack, ArrayList og Vector.
60) Hvordan bli med i flere ArrayLists?
Listen gir en addall()-metode flere ArrayList i Java.
Tenk for eksempel på to lister 1) areaList og 2) secondAreaList. En utvikler kan bli med dem ved å bruke addall() som:
areaList.addAll(andreAreaList);
61) Forklar deque Interface
Java.util.Deque er Java, et grensesnitt som utvider Queue-grensesnittet. Det gir støtte for innsetting og sletting av elementer i begge ender. Denne køen kalles også en dobbel-ended kø.
62) Forklar Linkedhashmap
LinkedHashMap er implementeringen av kartgrensesnittet. Det kan også utvide HashMap-klassen. Derfor, i likhet med HashMap, aktiverer LinkedHashMap Java utviklere til å tillate én nullnøkkel og mer enn én nullverdi.
63) Forklar metoder for å fjerne elementer fra ArrayList
Metodene for å fjerne elementer fra ArrayList er:
Metode | Tekniske beskrivelser |
---|---|
klar() | Denne metoden fjerner elementene fra ArrayList. |
remove(int index) | Denne metoden til ArrayList kan fjerne elementet på en bestemt posisjon. |
fjern (Objekt o) | Den kan fjerne den første forekomsten av omtaleelementet fra ArrayList. |
Fjern alle() | Den kan fjerne listen over elementer som er i en bestemt samling. |
removeIf(Predikat filter) | Denne metoden fjerner elementer som tilfredsstiller omtalen av et predikat. |
64) Forklar kart. oppføring i kart
Map.entry er en Java grensesnittet til java.util. Den har et nestet grensesnitt i Map. Dette grensesnittet må være kvalifisert av navnet på klassen eller grensesnittet som det er medlem av. Derfor er det kvalifisert som et kart. Inngang. Det representerer et nøkkel- og verdipar som kan utgjøre et element i et kart.
Denne metoden returnerer en visning av samlingen. Betrakt for eksempel cityMap som et kart. Utvikleren kan bruke entrySet() for å få settvisningen av kart som har et element Map.Entry. Programmerer kan også bruke getKey() og getValue() til Map.Entry for å få nøkkelparet og verdien til kartet.
65) Hvilken metode brukes for å sortere en matrise i stigende rekkefølge?
Java samlingsrammemetoden, Collections.sort() brukes til å sortere en matrise i stigende rekkefølge.
66) Hvordan måle ytelsen til en ArrayList?
Ytelsen til ArrayList kan måles ved:
- Legge til et element: Utvikleren kan legge til et element på slutten av ArrayList ved å bruke add(E e)-metoden. Det er O(1). I verste fall kan det gå til O(n). Dette kan skje hvis utvikleren legger til flere elementer enn arraykapasiteten.
- Henter et element: Utvikler kan få tilgang til array-indeksen ved å bruke get(int index). Ytelsen, i dette tilfellet, kan måles ved å bruke ArrayList get() er O(1).
- Fjerne et element: I tilfelle, hvis utviklerne fjerner elementet ved å bruke remove(int index), kan ytelsen til ArrayList beregnes ved å bruke fjerne(int index) operasjonen er O(n – index) metoden.
67) Forklar LinkedList-klassen
LinkedList-klassen i Java implementerer Deque og List ved å bruke en dobbeltlenket liste. Det er en privat klassenode i en dobbeltlenket liste som gir strukturen. Den har også en elementvariabel for å holde verdien og referanse til Node-klassen. Dette kan brukes til å koble sammen neste og forrige noder.
68) Gi 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 iterere kart?
Utvikleren kan ikke iterere kart direkte, men dette grensesnittet har to metoder som gir et sett med kart. Disse metodene er:
- Sett >entrySet(): Det er en metode som returnerer et sett med oppføringene nevnt i kartet. Disse oppføringene er generelt protestert, som har typen Kart. Inngang.
- Sett keySet(): Dette Java metoden returnerer et sett som har kartnøkkelen.
70) Forklar Treemap i Java
TreeMap er en klasse som implementerer Map-grensesnittet LinkedHashMap og HashMap. Den kan også implementere NavigableMap-grensesnittet og kan utvide AbstractMap-klassen.
71) Hva er forskjellen mellom Hashmap og Hashtable?
Hashmap | Hastbar |
---|---|
Den er ikke synkronisert. | Den er synkronisert. |
HashMap tillater én nøkkel som en nullverdi. | HashTable tillater ikke nullverdier. |
Iterator brukes til å krysse HashMap. | Enten Iterator eller Enumerator brukes for å krysse en HashTable. |
Den kan brukes til både HashTable, HashMap og er feilrask. | Den kan brukes med HashTable og er feilsikker. |
HashMap fungerer raskere enn HashTable. | Hashtable er ikke mye raskere sammenlignet med HashMap. |
72) Forklar den interne funksjonen til HashSet in Java
HashSett inn Java internt bruker HashMap til å lagre elementer. Den kan også lagre unike verdier uten dupliserte verdier.
In Java, HashSet-utvikler kan ha add(E e)-metoden som tar bare elementet å legge til som en parameter. Den godtar ikke nøkkel- og verdiparet.
73) Forklar Big-O-notasjon med et eksempel
Big-O-notasjonen viser ytelsen til en algoritme som antall elementer i ArrayList. En utvikler kan bruke Big-O-notasjon for å velge samlingsimplementeringen. Den er basert på ytelse, tid og minne.
For eksempel er ArrayList get(index i) en metode for å utføre en konstant-tidsoperasjon. Det avhenger ikke av det totale antallet elementer som er tilgjengelig i listen. Derfor er ytelsen i Big-O-notasjon O(1).
74) Forklar beste praksis i Java Innsamlingsramme
De beste praksisene i Java Samlingsrammeverket er:
- Velg riktig type samling avhenger av behovet.
- Unngå rehashing eller endre størrelse ved å estimere det totale antallet elementer som skal lagres i samlingsklasser.
- Skriv en Java program når det gjelder grensesnitt. Dette vil hjelpe utvikleren til å endre implementeringen uten problemer i fremtiden.
- En utvikler kan bruke Generics for typesikkerhet.
- Bruk uforanderlige klasser gitt av Java Utviklingssett. Unngå implementering av equals() og hashCode() for egendefinerte klasser.
- En programmerer bør bruke verktøyklassen Samlinger for algoritmer eller for å få skrivebeskyttede, synkroniserte eller tomme samlinger. Dette vil forbedre gjenbrukbarheten av kode med lav vedlikeholdsvennlighet.
75) Forklar ulike typer køer i Java
Det er tre typer køer Java:
- Prioritetskø: Det er en spesiell type kø der elementer er sortert i henhold til deres naturlige bestilling eller tilpassede komparator.
- Sirkulær kø: Det er en type kø der brukeroperasjoner utføres basert på FIFO-metoden. Det siste elementet er koblet til den første posisjonen for å lage en sirkel.
- Double- avsluttet kø: En dobbel-ended kø er en abstrakt datatype som generaliserer en kø. Elementene i denne køen kan legges til eller fjernes fra enten hode eller hale.
76) Hva er forskjellen mellom stack og kø?
Stable | Kø |
---|---|
Arbeidsprinsippet til stabelen er LIFO. | Arbeidsprinsippet for køen er FIFO. |
Den ene enden brukes til å utføre innsetting eller sletting av elementer. | En ende brukes til å utføre innsetting, og en annen ende brukes til å slette elementer. |
Den bruker én peker. | Den bruker to pekere i en enkel kø. |
Den har ingen form for variant. | Den har varianter som prioritert kø, sirkulær kø, dobbel endt kø. |
Det er enkelt å bruke. | Det er ikke lett å bruke. |
77) Hva er forskjellen mellom array og stack?
Forskjellen mellom array og stack er:
Array | Stable |
---|---|
Det er en samling av elementer som identifiseres av indeksen. | Det er en innsamlingsoperasjon som fungerer som operasjoner push and pop. |
Den har elementer av datatyper som er de samme. | Den har elementer av datatyper som er forskjellige. |
Elementer kan fjernes eller legges til i arrayet ved hjelp av tilfeldig tilgang. | Elementer kan fjernes eller legges til i en stabel ved å bruke LIFO-operasjon. |
78) Definer Iterator()
Iterator() er et grensesnitt som gir metoder for å iterere samling. Iterator kan ta plassen til Enumeration i Java. Den lar innringeren fjerne elementer fra samlingen. Metoden gir en generisk måte for kryssing ved å bruke elementer fra samlingen og implementere iteratordesignmønster.
79) Hva er de ulike måtene å iterere over en liste?
Java Collection Framework-programmerer kan iterere over en liste på to måter: 1) Ved å bruke iterator, og 2) ved å bruke den for hver sløyfe.
80) Hva er fordelene med stabelen?
Fordelene med stabelen er:
- Det hjelper deg å administrere dataene i en Last In First Out-metode (LIFO), noe som ikke er mulig med den koblede listen og arrayen.
- Når en funksjon kalles, lagres de lokale variablene i en stabel, og den blir automatisk ødelagt når den returneres.
- En stabel brukes når en variabel ikke brukes utenfor denne funksjonen.
- Den lar deg kontrollere hvordan minne tildeles og deallokeres.
- Stack renser objektet automatisk.
- Ikke lett ødelagt
- Variabler kan ikke endre størrelse.
Disse intervjuspørsmålene vil også hjelpe i din viva(orals)