80 Java Samlingsintervjufrågor och svar (2025)
Java Samlingar intervjufrågor och svar för nybörjare
1) Vad finns ramar i Java?
Ett ramverk är en populär och färdigbyggd arkitektur som innehåller en uppsättning klasser och gränssnitt.
2) Vad är insamlingsramverket i Java?
Collection Framework är en gruppering av klasser och gränssnitt som används för att lagra och hantera objekten. Det tillhandahåller olika klasser som Vector, ArrayList, HashSet, Stack, etc. Java Samlingsramverket kan också användas för gränssnitt som Queue, Set, List, etc.
3) Förklara samlingsklass
java.util.Collections är en klass som består av statiska metoder som fungerar på samlingar. Den innehåller polymorfa algoritmer för att arbeta på samlingar, "omslag". Den här klassen innehåller metoder för algoritmer, som binär sortering, sökning, blandning, etc.
4) Vad är hashCode()?
HashCode() är en metod som returnerar en heltalshashkod.
5) Skilj mellan ArrayList och Vector i Java insamlingsram.
Arraylist | vektor |
---|---|
ArrayList kan inte synkroniseras. | Vektor kan vara synkroniserad. |
Det är inte en äldre klass. | Det är en äldre klass. |
Den kan öka sin storlek med 50 % av arrayens storlek. | Den kan öka sin storlek genom att fördubbla storleken på arrayen. |
ArrayList är inte trådsäker. | Vector är trådsäker. |
6) Vad är ArrayList i Java?
Arraylist är en datastruktur som kan sträckas ut för att rymma ytterligare element i sig själv och krympa tillbaka till en mindre storlek när element tas bort. Det är en mycket viktig datastruktur användbar för att hantera elements dynamiska beteende.
7) Gör skillnad på Iterator och ListIterator
Skillnaden mellan Iterator och ListIterator är:
iterator | ListIterator |
---|---|
Iteratorn kan korsa arrayelementen i riktning framåt. | ListIterator kan korsa arrayelementen i riktningar bakåt såväl som framåt. |
Den kan användas i Queue, List och Set. | Det kan användas i List. |
Den kan endast utföra borttagningsoperation. | Den kan utföra lägga till, ta bort och ställa in operationer medan den går igenom samlingen. |
8) Vad är skillnaden mellan Iterator och Enumeration?
Skillnaden mellan Iterator och Enumeration
iterator | Uppräkning |
---|---|
Iteratorn kan passera både äldre och icke-legacy element. | Uppräkning kan endast passera äldre element. |
Iteratorn är felsnabb. | Uppräkningen går inte snabbt. |
Iteratorn är väldigt långsam jämfört med uppräkning. | Uppräkning är snabb jämfört med Iterator. |
Iteratorn kan utföra borttagningsoperation medan den korsar samlingen. | Uppräkningen kan endast utföra traversering på samlingen. |
9) Definiera BlockingQueue
BlockingQueue är ett gränssnitt som används i Java som kan förlänga kön. Det ger samtidighet i olika köoperationer som hämtning, infogning, radering, etc.
Kön väntar på att bli tom vid tidpunkten för hämtning av alla element. BlockingQueue bör inte innehålla null-element. Implementeringen av denna kö är trådsäker.
Syntaxen för BlockingQueue är:
public interface BlockingQueue<E> extends Queue <E>
10) Förklara metoden åsidosätta equals().
Likametoden används för att kontrollera likheten mellan två objekt. Om programmeraren vill kontrollera ett objekt baserat på egenskapen, måste det åsidosättas.
11) Vad är skillnaden mellan Comparable och Comparator?
Skillnaden mellan Comparable och Comparator är:
Jämförbar | Komparator |
---|---|
Comparable tillhandahåller metoden compareTo() för att sortera element i Java. | Comparator tillhandahåller metoden compare() för att sortera element i Java. |
Jämförbart gränssnitt finns i java.lang-paketet. | Jämförelsegränssnittet finns i java. util-paket. |
Sorteringslogiken måste vara i samma klass vars objekt du ska sortera. | Logiken för sortering bör vara i en separat klass för att skriva olika sortering baserat på olika attribut för objekt. |
Klassen vars objekt du vill sortera måste implementera det jämförbara gränssnittet. | Klass, vars objekt du vill sortera, behöver inte implementera ett komparatorgränssnitt. |
Det ger enstaka sorteringssekvenser. | Det ger flera sorteringssekvenser. |
Denna metod kan sortera data enligt den naturliga sorteringsordningen. | Denna metod sorterar data enligt den anpassade sorteringsordningen. |
Det påverkar originalklassen. dvs den faktiska klassen ändras. | Det påverkar inte den ursprungliga klassen, dvs den faktiska klassen ändras inte. |
Implementeras ofta i API:t av Kalender, Wrapper-klasser, Datum och String. | Det är implementerat för att sortera instanser av tredje parts klasser. |
Alla omslagsklasser och String-klass implementerar det jämförbara gränssnittet. | De enda implementerade klasserna av Comparator är Collator och RuleBasedColator. |
12) Förklara equals() med exempel
Equals() verifierar om nummerobjektet är lika med objektet, som skickas som ett argument eller inte.
Syntaxen för metoden equals() är:
public boolean equals(Object o)
Denna metod tar två parametrar 1) vilket objekt som helst, 2) returvärde. Det returnerar sant om det godkända argumentet inte är null och är ett objekt av liknande typ med samma numeriska värde.
Exempelvis:
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) Lista över fördelarna med generisk insamling
Fördelarna med att använda den generiska samlingen är:
- Om programmerarna använder generisk klass, kräver de inte typcasting.
- Den är typsäker och kan kontrolleras vid sammanställningstillfället.
- Det ger kodens stabilitet genom att detektera buggar vid kompileringstillfället.
14) Förklara metoden för att konvertera ArrayList till Array och Array till ArrayList
Programmerare kan konvertera en Array till ArrayList med metoden asList() i klassen Arrays. Det är en statisk metod av klassen Arrays som accepterar List-objektet. Syntaxen för metoden asList() är:
Arrays.asList(item)
Java programmerare kan konvertera ArrayList till List-objektet med hjälp av syntax:
List_object.toArray(new String[List_object.size()])
15) Ge exempel på ArrayList
Exempel på omvänd ArrayList är:
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) Ge exempel för att sortera en array i fallande ordning
Exemplet på att sortera en array i fallande ordning är:
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) Förklara de grundläggande gränssnitten för Java samlingsram
Java samlingsramverket är roten till samlingshierarkin. Den representerar en grupp av objekt som dess element. De Java programmeringsspråket ger inte en direkt implementering av ett sådant gränssnitt.
- Set: Set är en samling som inte har några dubbletter av element. Den använder hashable för att lagra element.
- Lista: List är en ordnad samling som kan innehålla dubbletter av element. Det gör det möjligt för utvecklare att komma åt alla element från sin inkorg. Listan är som en array med en dynamisk längd.
- KARTA: Det är ett objekt som mappar nycklar till värden. Den kan inte innehålla dubbletter av nycklar. Varje nyckel kan mappas till minst ett värde.
18) Vad är egenskaperna hos Java Hashmap?
Dragen av Java Hashmap är:
- Värdena kan lagras i en karta genom att bilda ett nyckel-värdepar. Värdet kan hämtas med nyckeln genom att skicka det till rätt metod.
- Om inget element finns i kartan, kommer det att skicka ett "NoSuchElementException".
- HashMap lagrar endast objektreferenser. Det är därför det är omöjligt att använda primitiva datatyper som dubbel eller int. Använd omslagsklass (som heltal eller Double) istället.
19) Vad är en stack?
En stack är ett speciellt område i datorns minne som lagrar temporära variabler som skapats av en funktion. I stack deklareras, lagras och initieras variabler under körning.
20) Vad är länkad lista?
En länkad lista är en datastruktur som kan lagra en samling objekt. Med andra ord kan länkade listor användas för att lagra flera objekt av samma typ. Varje enhet eller element i listan kallas en nod. En nod i den länkade listan har sina data och adressen till nästa nod. Det är som en kedja. Länkade listor används för att skapa grafer och träd.
Java Samlingar Intervjufrågor och svar för erfarna
21) Ge exempel på ArrayList
Exemplet på ArrayList är:
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) Förklara länkad lista som stöds av Java
Två typer av länkad lista stöds av Java är:
- Enkelt länkad lista: Singly Linked list är en typ av datastruktur. I en enkellänkad lista lagrar varje nod i listan nodens innehåll och en referens eller pekare till nästa nod i listan. Den lagrar ingen referens eller pekare till föregående nod.
- Dubbelt länkade listor: Dubbelt länkade listor är en speciell typ av länkad lista där genomgång över dataelementen kan göras i båda riktningarna. Detta görs möjligt genom att ha två länkar i varje nod, en som länkar till nästa nod och en annan som ansluter till föregående nod.
23) Förklara metoderna som tillhandahålls av Queue-gränssnittet?
Metoder för Java Kögränssnitt är:
Metod | Description |
---|---|
boolesk add(objekt) | Infogar specificerat element i kön. Det återkommer sant om det blir en framgång. |
booleskt erbjudande (objekt) | Denna metod används för att infoga elementet i kön. |
Objekt ta bort () | Den hämtar och tar bort köhuvudet. |
Objektundersökning () | (): Den hämtar och tar bort köhuvudet eller returnerar null om det är tomt. |
Objektundersökning () | Den hämtar och tar bort köhuvudet eller returnerar null om det är tomt. |
Objektelement () | Hämtar data från kön, men tar inte bort huvudet. |
Objektkik () | Hämtar data från kön men tar inte bort huvudet, eller om kön är tom kommer den att hämta null. |
24) Nämn metoderna som tillhandahålls av Stack-klassen
Viktiga metoder som tillhandahålls av Stack-klassen är:
- skjuta på(): Skjut in föremålet i högen.
- tom (): Denna metod finner att om stacken är tom eller inte.
- pop (): Denna Java samlingsrammetoden tar bort objektet från stacken.
- Sök (): Denna metod söker efter objekt i stacken.
- kika (): Denna Java metoden tittar på stackobjektet utan att ta bort det.
25) Definiera emptySet() i Java samlingsram
Metoden emptySet() som returnerar den tomma oföränderliga uppsättningen när programmerare försöker ta bort null-element. Uppsättningen som returneras av emptySet() är serialiserbar. Syntaxen för denna metod är:
offentlig statisk final Uppsättning emptySet()
26) Gör skillnad på samling och samling
Skillnaden mellan samling och samlingar är:
Samling | Kollektioner |
---|---|
Samlingen är ett gränssnitt. | Samlingar är en klass. |
Den representerar en grupp av objekt som en enda enhet. | Den definierar olika verktygsmetoder för samlingsobjekt. |
Samlingen är rotgränssnittet för Java Samlingsram. | Samlingar är en allmän bruksklass. |
Detta gränssnitt används för att härleda insamlingsdatastrukturerna. | Den här klassen innehåller statiska metoder för att manipulera datastruktur. |
27) Definiera LinkedHashSet i Java Insamlingsram?
LinkedHashSet är en underklass av klassen som heter HashSet och implementerar set-gränssnittet. Det är en välordnad version av HashSet som har en dubbellänkad lista över alla element.
28) Vad är skillnaden mellan failfast och failsafe?
Felfast | Failsafe |
---|---|
Det tillåter inte samlingsändringar under iteration. | Det tillåter samlingsmodifiering under iteration. |
Det kan kasta ConcurrentModificationException | Det kan inte ge något undantag. |
Den använder den ursprungliga samlingen för att korsa elementen. | Den använder en originalsamling kopia för att korsa elementen. |
Det finns inget krav på extra minne. | Det finns ett krav på extra minne. |
29) Lista samlingsvyer av ett kartgränssnitt
Samlingsvyer av kartgränssnittet är: 1) nyckeluppsättningsvy, 2) värdeuppsättningsvy och 3) ingångsuppsättningsvy.
30) Vilka är fördelarna med Collection Framework i Java?
Fördelarna med Collection Framework i Java är:
- Java insamlingsramverket erbjuder mycket effektiva och effektiva datastrukturer som förbättrar programmets noggrannhet och hastighet.
- Programmet utvecklat med Java insamlingsramen är lätt att underhålla.
- En utvecklare kan blanda klasser med andra typer som resulterar i ökad återanvändbarhet av kod.
- Smakämnen Java samlingsramverket gör det möjligt för programmerare att modifiera de primitiva samlingstyperna som de vill.
31) Vilket är ett bra sätt att sortera samlingsobjekten i Java?
Ett bra sätt att sortera Java samlingsobjekt använder gränssnitten Comparable och Comparator. En utvecklare kan använda Collections.sort(), elementen sorteras utifrån den ordning som nämns i compareTo().
När en utvecklare använder Collections, sort (Comparator), sorterar den objekten beroende på compare() i Comparator-gränssnittet.
32) Förklara Vector i Java
Vektorn är densamma som en array. Den har komponenter som kan nås med ett indexvärde. Vektorer kan innehålla en äldre metod som inte är en del av samlingsramverket.
33) Vad är skillnaden mellan Set och Map?
uppsättning | Karta |
---|---|
Uppsättningen tillhör package-java.util. | Kartan tillhör package-java.util. |
Det kan utöka samlingsgränssnittet. | Det utökar inte samlingsgränssnittet. |
Det tillåter inte dubbletter av värden. | Det tillåter dubbletter av värden. |
Set kan bara sortera ett nollvärde. | Kartan kan sortera flera nollvärden. |
34) Definiera ordboksklass
Ordboksklassen är en Java klass som har en förmåga att lagra nyckel-värdepar.
35) Definiera EnumSet
java.util.EnumSet är Set-implementering som kan användas med enum-typer. EnumSet som har alla element måste komma från en enumtyp specificerad explicit eller implicit. Det är inte synkroniserat och null-nycklar är inte tillåtna. EnumSet tillhandahåller metoder som EnumSetof(E first, E… rest), complementOf(EnumSet s) och copyOf(Collection c).
36) Vilka är de två sätten att ta bort dubbletter från ArrayList?
Två sätt att ta bort dubbletter från ArrayList är:
- HashSet: Utvecklare kan använda HashSet för att ta bort dubblettelementet från ArrayList. Nackdelen är att den inte kan bevara insättningsordningen.
- LinkedHashSet: Utvecklare kan också behålla ordningen för insättning genom att använda LinkedHashSet istället för HashSet.
37) Vad är IdentityHashMap?
IdentityHashMap är en klass som implementerar Serialiserbara, Klonbara gränssnitt, Map och utökar AbstractMap-klassen. Den är utformad för de fall där det finns ett behov av referenslikhet semantik.
38) Vad är WeakHashMap?
WeakHashMap är en implementering av Java Karta. Den används för att lagra svaga referenser till dess nycklar. Sortering med den här kartan tillåter att ett nyckel-värdepar samlas in som skräp. Dess nyckel refereras inte utanför WeakHashMap.
39) Vilka är metoderna för att göra samlingen trådsäker?
Metoderna för att göra insamlingstråden säker är:
- Collections.synchronizedList(list);
- Collections.synchronizedMap(map);
- Collections.synchronizedSet(set);
40) Förklara Stöds inteOperationException
Utan stödOperationException är ett undantag som kastas på metoder som inte stöds av den faktiska samlingstypen.
Till exempel skapar utvecklaren en skrivskyddad lista med hjälp av "Collections.unmodifiableList(list)" och anropar call(), add() eller remove() metoden. Det borde helt klart kasta UnsupportedOperationException.
41) Namnge samlingsklasserna som ger slumpmässig tillgång till dess element
Samlingsklasser som ger slumpmässig tillgång till element till dess element är: 1) ArrayList, 2) HashMap, 3) TreeMap och 4) Hashtable.
42) Förklara skillnaden mellan Queue och Deque.
Kö | deque |
---|---|
Det kallas en enda kö | Det kallas en dubbeländad kö |
Element i kön läggs till eller tas bort från ena änden | Element i kön läggs till från båda ändar kan läggas till och tas bort från båda ändarna |
Den är mindre mångsidig. | Den är mer mångsidig. |
43) Nämn implementeringsgränssnittet List och Set
Klassimplementerande Listgränssnitt: 1) ArrayList, 2) Vector och 3) LinkedList.
Klassimplementerande Set-gränssnitt: 1) HashSet och 2) TreeSet.
44) Förklara designmönstret följt av Iterator
Iteratorn följer detaljerna i iteratorns designmönster. Det ger utvecklare att navigera genom objektsamlingarna med ett gemensamt gränssnitt utan att känna till dess implementering.
45) Vad är peek() i Queue-gränssnittet?
Peek () är en metod för kögränssnitt. Den hämtar alla element men tar inte bort köhuvudet. Om kön är tom, kommer denna metod att returnera null.
46) Vad är CopyOnWriteArrayList?
CopyOnWriteArrayList är en variant av ArrayList där operationer som add och set implementeras genom att skapa en kopia av arrayen. Det är en trådsäker, och därmed kastar den inte ConcurrentModificationException. Denna ArrayLists tillåter alla element, inklusive null.
47) Gör skillnad på ArrayList och LinkedList
Skillnaden mellan ArrayList och LinkedList är:
Arraylist | Länkad lista |
---|---|
Den använder en dynamisk array. | Den använder en dubbellänkad lista. |
ArrayList är inte att föredra för manipulation. | LinkedList är att föredra för manipulation. |
ArrayList ger slumpmässig åtkomst. | LinkedList ger inte slumpmässig åtkomst. |
ArrayList s lagrar bara objekt, så det tar mindre minneskostnader | LinkedList lagrar såväl objekt som adressobjekt; därför tar det mer minneskostnader. |
48) Förklara metoderna för iteratorgränssnitt
Metoder för iteratorgränssnitt är:
Metod | Description |
---|---|
public boolean hasNext() | Det returnerar sant i iteratorn har element; annars returnerar det falskt. |
public Object next() | Denna metod returnerar elementet och flyttar pekaren till nästa värde. |
public void remove() | Denna Java metod kan ta bort de sista elementen som returneras av iteratorn. Public void remove() används mindre. |
49) Vilka är metoderna för HashSet-klassen?
Metoder för HashSet-klassen är:
Metoder | Description |
---|---|
boolean add(Object o) | Denna metod lägger till omnämningselementet till denna uppsättning om det inte redan finns. |
boolean innehåller(Objekt o): | Det returnerar sant om uppsättningen innehåller det angivna elementet. |
void clear(): | Denna metod tar bort set-element. |
boolean isEmpty(): | Det returnerar sant i fallet, uppsättningen har inga element. |
boolean remove(Object o): | Det tar bort det angivna elementet från uppsättningen. |
objekt klon(): | Den här metoden returnerar en kopia av HashSet-instansen: själva elementen är inte klonade. |
iterator iterator() | Den returnerar en iterator över elementen i denna uppsättning. |
int storlek(): | Det returnerar antalet tillgängliga element i uppsättningen. |
50) Vad är metoderna för Java TreeSet-klass?
Metoderna för Java TreeSet-klasserna är:
Metoder | Descriptjoner |
---|---|
boolean addAll (Collection c) | Lägg till alla element i den angivna samlingen till denna uppsättning. |
boolean innehåller (Objekt o) | Returnerar sant om uppsättningen innehåller omnämningselementet. |
boolean isEmpty () | Denna Java metod returnerar true om denna uppsättning inte innehåller några element. |
boolean ta bort (Objekt o) | Ta bort det angivna elementet från uppsättningen. |
void add(Object o) | Den lägger till det angivna elementet till uppsättningen. |
ogiltig rensa () | Denna Java metod tar bort alla element från uppsättningen. |
51) Förklara Linked HashSet
Java LinkedHashSet-klassen är en länkad lista och Hash-tabellimplementering av Set-gränssnittet. Den innehåller unika element samma som en HashSet. Länkade HashSet in Java tillhandahåller även valfria uppsättningsoperationer som kan bibehålla insättningsordningen.
52) Vilka är de viktiga metoderna som används i en länkad lista?
De viktiga metoderna som används i den länkade listan är:
Metod | Description |
---|---|
boolesk add( Object o) | Den används för att lägga till det angivna elementet i slutet av vektorn. |
boolean innehåller (Objekt o) | Det är en metod som returnerar true om den här listan innehåller det angivna elementet. |
void add (int index, Object element) | Infogar elementet vid det angivna elementet i vektorn. |
void addFirst(Object o) | Den används för att infoga det givna elementet i början. |
void addLast(Objekt o) | Den används för att lägga till det givna elementet till slutet. |
Int storlek() | Denna metod kan användas för att returnera det totala antalet element i en lista. |
boolean ta bort (Objekt o) | Den kan ta bort den första förekomsten av det angivna elementet från den här listan. |
int indexOf(Objektelement) | Denna Java metod returnerar indexet med den första förekomsten av omnämningselementet i den här listan, eller -1. |
int lastIndexOf(Objektelement) | Det är ett Java metod som returnerar indexet med den senaste förekomsten av det angivna elementet i den här listan, eller -1. |
53) Lista olika klasser tillgängliga i set
Olika klasser tillgängliga i set är: HashSet, TreeSetand och LinkedHashSet.
54) Lista metoder tillgängliga i Java Kögränssnitt
- boolesk add(objekt)
- booleskt erbjudande (objekt)
- objekt remove()
- object poll()
- objekt element()
- objekt peek()
55) Gör skillnad på List och Set.
Lista | uppsättning |
---|---|
En ordnad samling av element | En oordnad samling av element |
Bevarar insättningsordningen | Bevarar inte insättningsordningen |
Dubblettvärden är tillåtna | Dubblettvärden är inte tillåtna |
Valfritt antal nollvärden kan lagras | Endast ett nollvärde kan lagras |
ListIterator kan användas för att gå igenom listan i valfri riktning | ListIterator kan inte användas för att gå igenom en uppsättning |
Innehåller en äldre klass som kallas vektor | Innehåller ingen äldre klass |
Java Samlingar intervjufrågor och svar för 5+ års erfarenhet
56) Förklara för varje slinga med exempel
For-Each Loop är en annan form av for-loop som används för att korsa arrayen. Det minskar koden avsevärt, och det finns ingen användning av indexet eller snarare räknaren i slingan.
Exempel på för varje slinga:
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) Förklara diamantoperator
Diamantoperatorn gör det möjligt för kompilatorn att samla in typargument för generisk klass. I Java SE, utvecklare kan ersätta den parametriserade konstruktorn med en tom parameteruppsättning (<>) känd som diamantoperator.
58) Förklara randomaccess-gränssnittet
RandomAccess-gränssnittet används av List-implementeringar för att indikera att de stöder snabbt.
59) Namnge samlingsklasserna som implementerar gränssnitt för direktåtkomst
Java.util-paketet har klasser som kan implementera gränssnitt för direktåtkomst är: CopyOnWriteArrayList, Stack, ArrayList och Vector.
60) Hur går man med i flera ArrayLists?
Listan tillhandahåller en addall()-metod flera ArrayList i Java.
Tänk till exempel på två listor 1) areaList och 2) secondAreaList. En utvecklare kan ansluta sig till dem med addall() som:
areaList.addAll(andraAreaList);
61) Förklara deque Interface
Java.util.Deque är Java, ett gränssnitt som utökar kögränssnittet. Det ger stöd för att infoga och ta bort element i båda änden. Denna kö kallas även en dubbelkö.
62) Förklara Linkedhashmap
LinkedHashMap är implementeringen av kartgränssnittet. Det kan också utöka HashMap-klassen. Därför, liksom HashMap, möjliggör LinkedHashMap Java utvecklare att tillåta en nullnyckel och mer än ett nullvärde.
63) Förklara metoder för att ta bort element från ArrayList
Metoderna för att ta bort element från ArrayList är:
Metod | Description |
---|---|
klar() | Denna metod tar bort elementen från ArrayList. |
remove(int index) | Denna metod för ArrayList kan ta bort elementet på en viss position. |
ta bort(Objekt o) | Den kan ta bort den första förekomsten av omnämningselementet från ArrayList. |
ta bort alla() | Det kan ta bort listan över element som finns i en viss samling. |
removeIf(Predikat filtrera) | Denna metod tar bort element som uppfyller omnämnandet av ett predikat. |
64) Förklara kartan. post i karta
Map.entry är en Java gränssnitt för java.util. Den har ett kapslat gränssnitt i Map. Detta gränssnitt måste kvalificeras av namnet på klassen eller gränssnittet som det är medlem i. Därför är den kvalificerad som en karta. Inträde. Det representerar ett nyckel- och värdepar som kan utgöra ett element i en karta.
Den här metoden returnerar en vy av samlingen. Se till exempel cityMap som en karta. Utvecklaren kan använda entrySet() för att få setvyn av kartan som har ett element Map.Entry. Programmerare kan också använda getKey() och getValue() för Map.Entry för att få nyckelparet och kartans värde.
65) Vilken metod används för att sortera en array i stigande ordning?
Java samlingsrammetoden, Collections.sort() används för att sortera en array i stigande ordning.
66) Hur mäter man prestandan för en ArrayList?
ArrayLists prestanda kan mätas genom:
- Lägga till ett element: Utvecklare kan lägga till ett element i slutet av ArrayList med add(E e)-metoden. Det är O(1). I värsta scenariot kan det gå till O(n). Detta kan hända om utvecklaren lägger till fler element än arraykapaciteten.
- Hämta ett element: Utvecklare kan komma åt arrayindexet med get(int index). Prestandan, i det här fallet, kan mätas med ArrayList get() är O(1).
- Ta bort ett element: Om utvecklarna tar bort elementet med remove(int index), kan prestandan för ArrayList beräknas med hjälp av metoden remove(int index) är O(n – index).
67) Förklara LinkedList-klassen
LinkedList klass i Java implementerar Deque and List med hjälp av en dubbellänkad lista. Det finns en privat klassnod i en dubbellänkad lista som ger dess struktur. Den har också en objektvariabel för att hålla värdet och referens till Node-klassen. Detta kan användas för att ansluta nästa och föregående noder.
68) Ge ett exempel på Hashmap
Exemplet på Hashmap är:
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) Hur itererar man kartan?
Utvecklaren kan inte direkt iterera kartan, men det här gränssnittet har två metoder som ger en vyuppsättning av kartan. Dessa metoder är:
- Uppsättning >entrySet(): Det är en metod som returnerar en uppsättning med posterna som nämns i kartan. Dessa poster är i allmänhet invändningar, som har typen Karta. Inträde.
- Uppsättning keySet(): Denna Java metod returnerar en uppsättning som har kartnyckeln.
70) Förklara Treemap i Java
TreeMap är en klass som implementerar kartgränssnittet LinkedHashMap och HashMap. Den kan också implementera NavigableMap-gränssnittet och kan utöka klassen AbstractMap.
71) Vad är skillnaden mellan Hashmap och Hashtable?
Hashmap | Hastbar |
---|---|
Den är inte synkroniserad. | Den är synkroniserad. |
HashMap tillåter en nyckel som ett nollvärde. | HashTable tillåter inte null-värden. |
Iterator används för att korsa HashMap. | Antingen Iterator eller Enumerator används för att korsa en hashtabell. |
Den kan användas för både HashTable, HashMap och är felsnabb. | Den kan användas med HashTable och är felsäker. |
HashMap fungerar snabbare än HashTable. | Hashtable är inte mycket snabbare jämfört med HashMap. |
72) Förklara hur HashSet fungerar internt Java
HashSet in Java internt använder HashMap för att lagra element. Den kan också lagra unika värden utan dubbletter av värden.
In Java, HashSet-utvecklare kan ha add(E e)-metoden som tar bara elementet att lägga till som en parameter. Den accepterar inte nyckel- och värdeparet.
73) Förklara Big-O notation med ett exempel
Big-O-notationen visar prestandan hos en algoritm som antalet element i ArrayList. En utvecklare kan använda Big-O-notation för att välja samlingsimplementering. Den är baserad på prestanda, tid och minne.
Till exempel är ArrayList get(index i) en metod för att utföra en konstanttidsoperation. Det beror inte på det totala antalet tillgängliga element i listan. Därför är prestandan i Big-O notation O(1).
74) Förklara de bästa metoderna i Java Insamlingsram
De bästa metoderna inom Java Insamlingsramarna är:
- Välj rätt typ av samling beror på behovet.
- Undvik omhasha eller ändra storlek genom att uppskatta det totala antalet element som ska lagras i samlingsklasser.
- Skriv en Java program när det gäller gränssnitt. Detta kommer att hjälpa utvecklaren att ändra sin implementering utan ansträngning i framtiden.
- En utvecklare kan använda Generics för typsäkerhet.
- Använd oföränderliga klasser som ges av Java Utvecklingskit. Undvik implementering av equals() och hashCode() för anpassade klasser.
- En programmerare bör använda verktygsklassen Collections för algoritmer eller för att få skrivskyddade, synkroniserade eller tomma samlingar. Detta kommer att förbättra kodens återanvändbarhet med låg underhållsbarhet.
75) Förklara olika typer av köer i Java
Det finns tre typer av köer i Java:
- Prioriterad kö: Det är en speciell typ av kö där element sorteras enligt deras naturliga ordning eller anpassade komparator.
- Cirkulär kö: Det är en typ av kö där användaroperationer utförs baserat på FIFO-metoden. Det sista elementet kopplas till den första positionen för att göra en cirkel.
- Double-avslutad kö: En dubbeländad kö är en abstrakt datatyp som generaliserar en kö. Elementen i denna kö kan läggas till eller tas bort från antingen head eller tail.
76) Vad är skillnaden mellan stack och Queue?
Stack | Kö |
---|---|
Arbetsprincipen för stacken är LIFO. | Arbetsprincipen för kö är FIFO. |
Ena änden används för att utföra infogning eller borttagning av element. | En ände används för att utföra infogning och en annan ände används för att radera element. |
Den använder en pekare. | Den använder två pekare i en enkel kö. |
Den har ingen variant. | Den har varianter som prioriterad kö, cirkulär kö, dubbelslutad kö. |
Det är lätt att använda. | Det är inte lätt att använda. |
77) Vad är skillnaden mellan array och stack?
Skillnaden mellan array och stack är:
array | Stack |
---|---|
Det är en samling element som identifieras av indexet. | Det är en insamlingsoperation som fungerar som operationer push and pop. |
Den har ett element av datatyper som är samma. | Den har en del av datatyper som är olika. |
Element kan tas bort eller läggas till i arrayen med slumpmässig åtkomst. | Element kan tas bort eller läggas till i en stack med LIFO-drift. |
78) Definiera Iterator()
Iterator() är ett gränssnitt som tillhandahåller metoder för att iterera samling. Iterator kan ta platsen för uppräkning i Java. Det gör att den som ringer kan ta bort element från samlingen. Metoden tillhandahåller ett generiskt sätt för traversering med hjälp av element i samlingen och implementering av iteratordesignmönster.
79) Vilka är de olika sätten att iterera över en lista?
Java Collection Framework-programmerare kan iterera över en lista på två sätt: 1) Använda iterator, och 2) använda den för varje slinga.
80) Vilka är fördelarna med stacken?
Fördelarna med stacken är:
- Det hjälper dig att hantera data i en LIFO-metod (Last In First Out), vilket inte är möjligt med den länkade listan och arrayen.
- När en funktion anropas lagras de lokala variablerna i en stack och den förstörs automatiskt när den returneras.
- En stack används när en variabel inte används utanför den funktionen.
- Det låter dig styra hur minnet allokeras och avallokeras.
- Stack rensar objektet automatiskt.
- Inte lätt att korrumpera
- variabler kan inte ändra storlek.
Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)