80 Java Kogude intervjuu küsimused ja vastused (2026)
Java Kollektsioonide intervjuu küsimused ja vastused värsketele
1) Milles on raamistik Java?
Raamistik on populaarne ja valmis arhitektuur, mis sisaldab klasside ja liideste komplekti.
2) Milles on kogumise raamistik Java?
Collection Framework on klasside ja liideste rühmitus, mida kasutatakse objektide salvestamiseks ja haldamiseks. See pakub erinevaid klasse, nagu Vector, ArrayList, HashSet, Stack jne. Java Kogumisraamistikku saab kasutada ka selliste liideste jaoks nagu järjekord, komplekt, loend jne.

3) Selgitage kogude klassi
java.util.Collections on klass, mis koosneb staatilistest meetoditest, mis töötavad kogudega. See sisaldab polümorfseid algoritme, mis töötavad kollektsioonidega, "ümbristega". See klass sisaldab meetodeid algoritmide jaoks, nagu binaarne sortimine, otsing, segamine jne.
4) Mis on hashCode()?
HashCode() on meetod, mis tagastab täisarvulise räsikoodi.
5) Eristage loendis ArrayList ja Vector Java kogumise raamistik.
| ArrayList | vektor |
|---|---|
| ArrayListi ei saa sünkroonida. | Vektorit saab sünkroonida. |
| See ei ole pärandklass. | See on pärandklass. |
| See võib suurendada oma suurust 50% massiivi suurusest. | See võib massiivi suurust kahekordistades suurendada. |
| ArrayList ei ole lõimekindel. | Vector on niidikindel. |
6) Milles on ArrayList Java?
ArrayList on andmestruktuur, mida saab venitada, et mahutada endasse täiendavaid elemente, ja kahaneb elementide eemaldamisel tagasi väiksemaks. See on väga oluline andmestruktuur, mis on kasulik elementide dünaamilise käitumise käsitlemisel.
7) Eristage Iteraatorit ja ListIteraatorit
Erinevus Iteratori ja ListIteratori vahel on järgmine:
| Iteraator | ListIterator |
|---|---|
| Iteraator saab läbida massiivi elemente edasisuunas. | ListIterator saab läbida massiivi elemente nii tagasi- kui ka edasisuunas. |
| Seda saab kasutada järjekorras, loendis ja komplektis. | Seda saab kasutada loendis. |
| See saab teha ainult eemaldamistoiminguid. | See võib kogu läbimisel sooritada lisamise, eemaldamise ja seadistamise toiminguid. |
8) Mis vahe on iteraatoril ja loendusel?
Erinevus iteraatori ja loenduse vahel
| Iteraator | Loendamine |
|---|---|
| Iteraator võib läbida nii pärand- kui ka mittepärandelemente. | Loend võib läbida ainult pärandelemendid. |
| Iteraator on tõrkekiire. | Loendamine ei ole kiire. |
| Iteraator on loendamisega võrreldes väga aeglane. | Loendamine on Iteratoriga võrreldes kiire. |
| Iteraator saab kogu läbimise ajal teha eemaldamistoimingu. | Loend saab koguga teha ainult läbisõidutoimingu. |
9) Määratlege BlockingQueue
BlockingQueue on liides, mida kasutatakse Java mis võib järjekorda pikendada. See tagab samaaegsuse mitmesugustes järjekorratoimingutes, nagu otsimine, sisestamine, kustutamine jne.
Järjekord ootab elementide toomise ajal tühjaks saamist. BlockingQueue ei tohiks sisaldada nullelemente. Selle järjekorra rakendamine on lõimekindel.
BlockingQueue'i süntaks on:
public interface BlockingQueue<E> extends Queue <E>
10) Selgitage alistamise võrdub() meetodit
Võrdsuse meetodit kasutatakse kahe objekti sarnasuse kontrollimiseks. Juhul, kui programmeerija soovib objekti atribuudi alusel kontrollida, tuleb see tühistada.
11) Mis vahe on Võrreldaval ja Võrreldaval?
Erinevus võrreldava ja võrdleva vahel on järgmine:
| Võrreldav | Võrdleja |
|---|---|
| Comparable pakub elementide sortimiseks meetodit võrdlusTo(). Java. | Comparator pakub elementide sortimiseks meetodit võrdle (). Java. |
| Võrreldav liides on paketis java.lang olemas. | Võrdlusliides on Java-s olemas. util pakett. |
| Sorteerimise loogika peab olema samas klassis, mille objekti sa sorteerima hakkad. | Sorteerimise loogika peaks olema eraldi klassis, et kirjutada erinevat sortimist objektide erinevate atribuutide alusel. |
| Klass, mille objekte soovite sortida, peab rakendama võrreldava liidese. | Klass, mille objekte soovite sortida, ei pea rakendama võrdlusliidest. |
| See pakub üksikuid sortimisjadasid. | See pakub mitut sortimisjada. |
| Selle meetodi abil saab andmeid sortida loomuliku sortimisjärjestuse järgi. | See meetod sorteerib andmed vastavalt kohandatud sortimisjärjekorrale. |
| See mõjutab algset klassi. st tegelik klass on muudetud. | See ei mõjuta algset klassi, st tegelikku klassi ei muudeta. |
| Rakendatakse API-s sageli kalendri, ümbrisklasside, kuupäeva ja stringi abil. | Seda rakendatakse kolmandate osapoolte klasside eksemplaride sorteerimiseks. |
| Kõik ümbrisklassid ja stringiklassid rakendavad võrreldavat liidest. | Ainsad rakendatud Comparatori klassid on Collator ja RuleBasedColator. |
12) Selgitage võrdub() näitega
Equals() kontrollib, kas arvobjekt on võrdne objektiga, mis edastatakse argumendina või mitte.
Võrdsuse () meetodi süntaks on:
public boolean equals(Object o)
See meetod võtab kaks parameetrit: 1) mis tahes objekt, 2) tagastab väärtuse. Tagastab tõene, kui läbitud argument ei ole null ja see on sarnast tüüpi objekt, millel on sama arvväärtus.
Näide:
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) Loetlege üldise kogumise eelised
Üldise kollektsiooni kasutamise eelised on järgmised:
- Kui programmeerijad kasutavad üldist klassi, ei vaja nad tüübiülekannet.
- See on tüübikindel ja seda saab kontrollida koostamise ajal.
- See tagab koodi stabiilsuse, tuvastades vea koostamise ajal.
14) Selgitage meetodit, kuidas ArrayList teisendada massiiviks ja massiiv ArrayListiks
Programmeerijad saavad teisendada massiivi ArrayListiks, kasutades Arrays klassi meetodit asList(). See on klassi Arrays staatiline meetod, mis aktsepteerib loendiobjekti. Meetodi asList() süntaks on:
Arrays.asList(item)
Java programmeerijad saavad teisendada ArrayListi objektiks List, kasutades süntaksit:
List_object.toArray(new String[List_object.size()])
15) Tooge ArrayListi näide
Reverse ArrayListi näide on:
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) Tooge näide massiivi sortimiseks kahanevas järjekorras
Massiivi kahanevas järjestuses sortimise näide on järgmine:
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) Selgitage põhiliideseid Java kogude raamistik
Java kogude raamistik on kogude hierarhia juur. See esindab objektide rühma oma elementidena. The Java programmeerimiskeel ei paku sellise liidese otsest rakendamist.
- Set: Komplekt on kogu, millel pole dubleerivaid elemente. See kasutab räsitabelit elementide salvestamiseks.
- Nimekiri: Loend on järjestatud kogu, mis võib sisaldada dubleerivaid elemente. See võimaldab arendajatel pääseda oma postkastist juurde mis tahes elementidele. Loend on nagu dünaamilise pikkusega massiiv.
- KAART: See on objekt, mis kaardistab võtmed väärtustele. See ei tohi sisaldada dubleerivaid võtmeid. Iga klahvi saab vastendada vähemalt ühe väärtusega.
18) Millised on selle omadused Java Hashmap?
Tunnused Java Hashmap See on:
- Väärtused saab salvestada kaardile, moodustades võtme-väärtuste paari. Väärtuse saab hankida võtme abil, edastades selle õigele meetodile.
- Kui kaardil elementi pole, kuvatakse see „NoSuchElementException”.
- HashMap salvestab ainult objektiviited. Seetõttu on võimatu kasutada primitiivseid andmetüüpe, nagu double või int. Kasutage ümbrisklassi (nt Integer või Double) asemel.
19) Mis on virn?
Virn on arvuti mälu spetsiaalne ala, mis salvestab funktsiooniga loodud ajutisi muutujaid. Virnas deklareeritakse, salvestatakse ja lähtestatakse muutujad käitusajal.
20) Mis on lingitud loend?
Lingitud loend on andmestruktuur, mis võib salvestada üksuste kogumit. Teisisõnu saab lingitud loendeid kasutada mitme sama tüüpi objekti salvestamiseks. Iga loendi ühikut või elementi nimetatakse sõlmeks. Lingitud loendis oleval sõlmel on oma andmed ja järgmise sõlme aadress. See on nagu kett. Lingitud loendeid kasutatakse graafikute ja puude loomiseks.
Java Kollektsioonide intervjuu küsimused ja vastused kogenud inimestele
21) Tooge ArrayListi näide
ArrayListi näide on järgmine:
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) Selgitage lingitud loendit, mida toetab Java
Toetab kahte tüüpi lingitud loendeid Java See on:
- Üksiklingitud loend: Üksiklingitud loend on andmestruktuuri tüüp. Üksiklingitud loendis salvestab loendi iga sõlm sõlme sisu ja viite või viite loendi järgmisele sõlmele. See ei salvesta ühtegi viidet ega osutit eelmisele sõlmele.
- Topeltlingitud loendid: Topeltlingitud loendid on lingitud loendite eritüüp, kus andmeelementide läbimist saab teha mõlemas suunas. See on võimalik tänu sellele, et igas sõlmes on kaks linki, millest üks ühendub järgmise sõlmega ja teine, mis ühendub eelmise sõlmega.
23) Selgitage Queue liidese pakutavaid meetodeid?
Meetodid Java Järjekorra liides on:
| Meetod | Kirjeldus |
|---|---|
| tõeväärtus lisa(objekt) | Lisab määratud elemendi järjekorda. See tagastab tõele, kui see õnnestub. |
| tõeväärtuslik pakkumine (objekt) | Seda meetodit kasutatakse elemendi sisestamiseks järjekorda. |
| Objekti eemaldamine () | See otsib ja eemaldab järjekorrapea. |
| Objekti küsitlus() | (): See otsib ja eemaldab järjekorrapea või tagastab nulli, kui see on tühi. |
| Objekti küsitlus() | See otsib ja eemaldab järjekorrapea või tagastab nulli, kui see on tühi. |
| Objekti element () | Toob andmed järjekorrast, kuid ei eemalda oma pead. |
| Objekti piilumine () | Otsib andmed järjekorrast, kuid ei eemalda oma pead või juhul, kui järjekord on tühi, toob see nulli. |
24) Mainige Stack klassi pakutavaid meetodeid
Stack klassi pakutavad olulised meetodid on järgmised:
- push (): Lükake üksus virna.
- tühi (): See meetod tuvastab, kas virn on tühi või mitte.
- pop (): see Java kogumisraamistiku meetod eemaldab objekti virust.
- otsi (): See meetod otsib virnas olevaid üksusi.
- piiluma (): see Java meetod vaatab virnaobjekti seda eemaldamata.
25) Defineerige tühiSet() failis Java kogude raamistik
Meetod emptySet(), mis tagastab tühja muutumatu hulga alati, kui programmeerijad proovivad nullelemente eemaldada. Komplekt, mille annab tühjaks setti () on jadatav. Selle meetodi süntaks on:
avalik staatiline finaal Määra emptySet()
26) Tee vahet kollektsioonil ja kogudel
Kollektsiooni ja kollektsioonide erinevused on järgmised:
| kogumine | Kollektsioonid |
|---|---|
| Kollektsioon on liides. | Kollektsioonid on klass. |
| See esindab objektide rühma ühe üksusena. | See määratleb kogumisobjektide jaoks erinevad utiliidi meetodid. |
| Kogu on juurliides Java Kogumise raamistik. | Kollektsioonid on üldine kasulikkuse klass. |
| Seda liidest kasutatakse kogumisandmete struktuuride tuletamiseks. | See klass sisaldab staatilisi meetodeid andmestruktuuriga manipuleerimiseks. |
27) Defineerige LinkedHashSet jaotises Java Kogumise raamistik?
LinkedHashSet on klassi HashSet alamklass ja rakendab komplekti liidest. See on HashSeti hästi korraldatud versioon, mis säilitab kõigi selle elementide topeltlingitud loendi.
28) Mis vahe on tõrkekindlal ja tõrkekindlal?
| Failfast | Failsafe |
|---|---|
| See ei luba iteratsiooni ajal kogu muuta. | See võimaldab kogumit itereerimise ajal muuta. |
| See võib anda ConcurrentModificationException | See ei saa teha erandit. |
| See kasutab elementide läbimiseks algset kollektsiooni. | See kasutab elementide läbimiseks originaalkogu koopiat. |
| Lisamälu nõuet pole. | Vaja on lisamälu. |
29) Loetlege kaardiliidese koguvaated
Kaardi liidese koguvaated on: 1) võtmekomplekti vaade, 2) väärtuskomplekti vaade ja 3) kirjekomplekti vaade.
30) Millised on kogumisraamistiku eelised Java?
Collection Frameworki eelised Java See on:
- Java kogumisraamistik pakub väga tõhusaid ja tõhusaid andmestruktuure, mis suurendavad programmi täpsust ja kiirust.
- Programm töötati välja koos Java kogumisraamistikku on lihtne hooldada.
- Arendaja saab segada klasse teiste tüüpidega, mille tulemuseks on koodi korduvkasutatavuse suurendamine.
- . Java kogumisraamistik võimaldab programmeerijatel primitiivseid kogutüüpe muuta nii, nagu neile meeldib.
31) Milline on hea viis kogu objektide sorteerimiseks? Java?
Hea viis sorteerimiseks Java kogumisobjektid kasutavad võrdleva ja võrdleva liideseid. Arendaja saab kasutada Collections.sort(), elemendid sorteeritakse järjekorra alusel, mida mainitakse failis võrdlusTo().
Kui arendaja kasutab kogusid, sorteerige (Comparator), siis sorteerib see objektid sõltuvalt võrdleja liidese võrdlusest().
32) Selgitage vektorit sisse Java
Vektor on sama mis massiiv. Sellel on komponendid, millele pääseb juurde indeksi väärtuse abil. Vektorid võivad sisaldada pärandmeetodit, mis ei ole kogumisraamistiku osa.
33) Mis vahe on Set ja Map vahel?
| komplekt | kaart |
|---|---|
| Komplekt kuulub paketti-java.util. | Kaart kuulub paketti java.util. |
| See võib laiendada kogumisliidest. | See ei laienda kogu liidest. |
| See ei luba väärtuste dubleerimist. | See võimaldab dubleerida väärtusi. |
| Komplekt saab sortida ainult ühte nullväärtust. | Kaart saab sortida mitu nullväärtust. |
34) Defineeri sõnastiku klass
Sõnastiku klass on a Java klass, mis suudab salvestada võtme-väärtuse paare.
35) Defineerige EnumSet
java.util.EnumSet on komplekti rakendus, mida saab kasutada enum tüüpidega. EnumSet, millel on kõik elemendid, peab pärinema ühest eksplitsiitselt või kaudselt määratud enum-tüübist. Seda ei sünkroonita ja ka nullklahvid pole lubatud. EnumSet pakub selliseid meetodeid nagu EnumSetof(E first, E… rest), komplementOf(EnumSet s) ja copyOf(Collection c).
36) Millised on kaks võimalust ArrayListist duplikaatide eemaldamiseks?
ArrayListist duplikaatide eemaldamiseks on kaks võimalust:
- HashSet: Arendaja saab kasutada HashSeti, et eemaldada loendist ArrayList duplikaatelement. Puuduseks on see, et see ei suuda säilitada sisestamise järjekorda.
- LinkedHashSet: Arendajad saavad säilitada ka sisestamise järjekorda, kasutades HashSeti asemel LinkedHashSeti.
37) Mis on IdentityHashMap?
IdentityHashMap on klass, mis rakendab serialiseeritavaid, kloonitavaid liideseid, kaarti ja laiendab AbstractMap klassi. See on mõeldud juhuks, kui on vajadus viitevõrdsuse semantika järele.
38) Mis on WeakHashMap?
WeakHashMap on rakendus Java Kaart. Seda kasutatakse nõrkade viidete salvestamiseks selle võtmetele. Selle kaardi abil sorteerimine võimaldab võtme-väärtuste paari koguda prügina. Selle võtmele ei viidata väljaspool WeakHashMapi.
39) Millised on meetodid kogumise niidi ohutuks muutmiseks?
Kogumisniidi ohutuks muutmise meetodid on järgmised:
- Collections.synchronizedList(list);
- Collections.synchronizedMap(map);
- Collections.synchronizedSet(set);
40) Selgitage ToetamataOperatsioonErand
Toetuseta poleOperationException on erand, mis antakse meetoditele, mida tegelik kogumise tüüp ei toeta.
Näiteks loob arendaja kirjutuskaitstud loendi, kasutades "Collections.unmodifiableList(list)" ja helistades meetodit call(), add() või remove(). See peaks selgelt viskama ToetamataOperatsioonErand.
41) Nimetage kogumisklassid, mis annavad juhuslikule elemendile juurdepääsu selle elementidele
Kollektsiooniklassid, mis annavad juhuslikule elemendile juurdepääsu selle elementidele, on: 1) ArrayList, 2) HashMap, 3) TreeMap ja 4) Hashtable.
42) Selgitage Queue ja Deque erinevust.
| Järjekord | Millest |
|---|---|
| Seda nimetatakse ühe otsaga järjekorraks | Seda nimetatakse kaheotsaliseks järjekorraks |
| Järjekorra elemendid lisatakse või eemaldatakse ühest otsast | Järjekorras olevad elemendid lisatakse mõlemast otsast. Neid saab lisada ja eemaldada mõlemast otsast |
| See on vähem mitmekülgne. | See on mitmekülgsem. |
43) Mainige rakenduse List and Set liidest
Klassi rakendusloendi liides: 1) ArrayList, 2) Vector ja 3) LinkedList.
Klassi juurutamise komplekti liides: 1) HashSet ja 2) TreeSet.
44) Selgitage kujundusmustrit, millele järgneb Iterator
Iteraator järgib iteraatori disainimustri üksikasju. See annab arendajale võimaluse navigeerida objektikogudes ühise liidese abil, teadmata selle rakendamist.
45) Mis on Queue liidese peek()?
Peek () on järjekordade liidese meetod. See hangib kõik elemendid, kuid ei eemalda järjekorra pead. Kui järjekord on tühi, tagastab see meetod null.
46) Mis on CopyOnWriteArrayList?
CopyOnWriteArrayList on ArrayListi variant, milles toiminguid, nagu lisamine ja määramine, rakendatakse massiivi koopia loomisega. See on lõimekindel ja seetõttu ei tekita see ConcurrentModificationExceptioni. See ArrayLists lubab kõiki elemente, sealhulgas null.
47) Eristage ArrayListi ja LinkedListi vahel
Erinevus ArrayListi ja LinkedListi vahel on järgmine:
| ArrayList | Lingitud nimekiri |
|---|---|
| See kasutab dünaamilist massiivi. | See kasutab topeltlingitud loendit. |
| ArrayList ei ole manipuleerimiseks eelistatav. | Manipuleerimiseks on eelistatav LinkedList. |
| ArrayList pakub juhuslikku juurdepääsu. | LinkedList ei paku juhuslikku juurdepääsu. |
| ArrayList salvestab ainult objekte, seega võtab see vähem mälu | LinkedList salvestab nii objekti kui ka aadressiobjekti; seega võtab see rohkem mälumahtu. |
48) Selgitage iteraatori liidese meetodeid
Iteraatori liidese meetodid on järgmised:
| Meetod | Kirjeldus |
|---|---|
| avalik tõeväärtus hasNext() | Tagastab tõene, kui iteraatoris on elemente; vastasel juhul tagastab see vale. |
| avalik objekt järgmine() | See meetod tagastab elemendi ja viib kursori järgmisele väärtusele. |
| public void remove() | see Java meetod võib eemaldada viimased iteraatori tagastatud elemendid. Public void remove() kasutatakse vähem. |
49) Millised on HashSet klassi meetodid?
HashSet klassi meetodid on järgmised:
| Meetodid | Kirjeldus |
|---|---|
| tõeväärtuse lisamine (objekt o) | See meetod lisab sellesse komplekti mainimise elemendi, kui seda veel pole. |
| Boolean sisaldab (Objekt o): | Tagastab tõene, kui komplekt sisaldab määratud elementi. |
| tühine selge(): | See meetod eemaldab seatud elemendid. |
| Boolean isEmpty(): | Tagastab tõene juhul, kui komplektil pole elemente. |
| tõeväärtuse eemaldamine (objekt o): | See eemaldab määratud elemendi komplektist. |
| objekti kloon(): | See meetod tagastab HashSeti eksemplari koopia: elemente ise ei kloonita. |
| iteraator iteraator() | See tagastab selle komplekti elementide kohal iteraatori. |
| int suurus (): | Tagastab komplektis saadaolevate elementide arvu. |
50) Millised on meetodid Java TreeSeti klass?
Meetodid Java TreeSet klassid on:
| Meetodid | Descriptioone |
|---|---|
| tõeväärtus addAll (kogu c) | Lisage sellesse komplekti kõik määratud kogus olevad elemendid. |
| tõeväärtus sisaldab (objekt o) | Tagastab väärtuse tõene, kui komplekt sisaldab mainimise elementi. |
| Boolean isEmpty() | see Java meetod tagastab tõene, kui see komplekt ei sisalda elemente. |
| tõeväärtuse eemaldamine (objekt o) | Eemaldage määratud element komplektist. |
| tühine lisamine (objekt o) | See lisab määratud elemendi komplekti. |
| tühine selge () | see Java meetod eemaldab komplektist kõik elemendid. |
51) Selgitage lingitud räsikomplekti
Java LinkedHashSet klass on Set-liidese lingitud loendi ja räsitabeli rakendus. See sisaldab unikaalseid elemente, mis on samad kui HashSet. Lingitud HashSet sisse Java pakub ka valikulisi komplektoperatsioone, mis suudavad säilitada sisestamise järjekorda.
52) Milliseid olulisi meetodeid kasutatakse lingitud loendis?
Lingitud loendis kasutatavad olulised meetodid on järgmised:
| Meetod | Kirjeldus |
|---|---|
| tõeväärtuse lisamine (objekt o) | Seda kasutatakse määratud elemendi lisamiseks vektori lõppu. |
| tõeväärtus sisaldab (objekt o) | See on meetod, mis tagastab tõese, kui see loend sisaldab määratud elementi. |
| tühine lisamine (indeks, objekti element) | Lisab elemendi vektori määratud elemendi juurde. |
| tühine addFirst(objekt o) | Seda kasutatakse antud elemendi algusesse sisestamiseks. |
| tühine lisaViimane(Objekt o) | Seda kasutatakse antud elemendi lõppu lisamiseks. |
| Int size () | Seda meetodit saab kasutada loendi elementide koguarvu tagastamiseks. |
| tõeväärtuse eemaldamine (objekt o) | See võib eemaldada loendist määratud elemendi esimese esinemise. |
| int indexOf (objektielement) | see Java meetod tagastab indeksi, mille mainimiselement esineb esimest korda selles loendis või -1. |
| int lastIndexOf(objektielement) | On Java meetod, mis tagastab indeksi selles loendis määratud elemendi viimase esinemissagedusega või -1. |
53) Loetlege erinevad klassid komplektidena
Komplektides on saadaval erinevad klassid: HashSet, TreeSetand ja LinkedHashSet.
54) Loetlege saadaval olevad meetodid Java Järjekorra liides
- tõeväärtus lisa(objekt)
- tõeväärtuslik pakkumine (objekt)
- objekt eemalda()
- objektiküsitlus()
- objekti element ()
- objekti piilumine()
55) Eristage loendit ja komplekti.
| nimekiri | komplekt |
|---|---|
| Tellitud elementide kogu | Korraldamata elementide kogum |
| Säilitab sisestamise järjekorra | Ei säilita sisestamise järjekorda |
| Väärtuste dubleerimine on lubatud | Väärtuste dubleerimine pole lubatud |
| Salvestada saab suvalise arvu nullväärtusi | Salvestada saab ainult ühe nullväärtuse |
| ListIteratorit saab kasutada loendi läbimiseks igas suunas | ListIteratorit ei saa kasutada komplekti läbimiseks |
| Sisaldab pärandklassi, mida nimetatakse vektoriks | Ei sisalda pärandklassi |
Java Kollektsioonide intervjuu küsimused ja vastused üle 5-aastase kogemuse kohta
56) Selgitage iga tsükli kohta näiteid
For-Each Loop on veel üks for-tsükli vorm, mida kasutatakse massiivi läbimiseks. See vähendab koodi oluliselt ja tsüklis ei kasutata indeksit või pigem loendurit.
Iga ahela näide:
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) Selgitage teemandioperaatorit
Teemantoperaator võimaldab kompilaatoril koguda üldise klassi tüübiargumente. sisse Java SE, arendaja saab parameetritega konstruktori asendada tühjade parameetrikomplektidega (<>), mida nimetatakse teemantoperaatoriks.
58) Selgitage juhusliku juurdepääsu liidest
RandomAccessi liidest kasutavad loendi rakendused, et näidata, et nad toetavad kiiret.
59) Nimetage kogumisklassid, mis rakendavad juhusliku juurdepääsu liidest
Java.util paketil on klassid, mis võivad rakendada juhusliku juurdepääsu liidest: CopyOnWriteArrayList, Stack, ArrayList ja Vector.
60) Kuidas liituda mitme ArrayListiga?
Loend sisaldab meetodit addall() mitu ArrayList'i Java.
Näiteks kaaluge kahte loendit: 1) areaList ja 2) secondAreaList. Arendaja saab nendega liituda kasutades addall(), näiteks:
areaList.addAll(teinePiirkonnaloend);
61) Selgitage deque Interface
Java.util.Deque on Java, liides, mis laiendab järjekorra liidest. See toetab elementide sisestamist ja kustutamist mõlemas otsas. Seda järjekorda nimetatakse ka kaheotsaliseks järjekorraks.
62) Selgitage Linkedhashmapi
LinkedHashMap on kaardi liidese rakendamine. Samuti võib see laiendada HashMapi klassi. Seetõttu, nagu HashMap, võimaldab LinkedHashMap Java arendajad lubama ühe nullvõtme ja rohkem kui ühe nullväärtuse.
63) Selgitage elementide eemaldamise meetodeid ArrayListist
ArrayListist elementide eemaldamise meetodid on järgmised:
| Meetod | Kirjeldus |
|---|---|
| selge () | See meetod eemaldab elemendid ArrayListist. |
| eemalda (int indeks) | See ArrayListi meetod võib elemendi konkreetses kohas eemaldada. |
| eemalda (objekt o) | See võib eemaldada ArrayListist mainimise elemendi esimese esinemise. |
| Eemalda kõik() | See võib eemaldada konkreetses kogus olevate elementide loendi. |
| removeIf(Predikaat filter) | See meetod eemaldab elemendid, mis rahuldavad predikaadi mainimist. |
64) Selgitage kaarti. kanne kaardil
Map.entry on a Java Java.util liides. Sellel on kaardis pesastatud liides. See liides peab olema kvalifitseeritud klassi või liidese nimega, mille liige see on. Seetõttu kvalifitseeritakse see kaardiks. Sisenemine. See esindab võtme ja väärtuse paari, mis võib moodustada kaardi elemendi.
See meetod tagastab kogu vaate. Näiteks võtke linnakaart kaardiks. Arendaja saab kasutada enterSet(), et saada kaardi komplektvaade, millel on element Map.Entry. Programmeerija saab võtme ja kaardi väärtuse paari hankimiseks kasutada ka Map.Entry getKey() ja getValue().
65) Millist meetodit kasutatakse massiivi järjestamiseks kasvavas järjekorras?
Java kogumisraamistiku meetodit Collections.sort() kasutatakse massiivi järjestamiseks kasvavas järjekorras.
66) Kuidas mõõta ArrayListi jõudlust?
ArrayListi jõudlust saab mõõta:
- Elemendi lisamine: Arendaja saab lisada elemendi ArrayListi lõppu, kasutades meetodit add(E e). See on O(1). Halvima stsenaariumi korral võib see minna O(n). See võib juhtuda, kui arendaja lisab massiivi mahust rohkem elemente.
- Elemendi hankimine: Arendaja pääseb massiiviindeksile juurde, kasutades get(int index). Sel juhul saab jõudlust mõõta, kasutades ArrayList get() on O(1).
- Elemendi eemaldamine: Juhul, kui arendajad eemaldavad elementi eemaldamise (int index) abil, saab ArrayListi jõudlust arvutada, kasutades nimetatud eemaldamise (int index) operatsiooni O(n – indeks) meetodit.
67) Selgitage LinkedList klassi
LinkedListi klass sisse Java rakendab Deque and List, kasutades topeltlingitud loendit. Topeltlingitud loendis on privaatklassi sõlm, mis annab selle struktuuri. Sellel on ka üksuse muutuja väärtuse hoidmiseks ja viide sõlme klassile. Seda saab kasutada järgmise ja eelmise sõlme ühendamiseks.
68) Tooge näide Hashmapist
Hashmapi näide on järgmine:
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) Kuidas kaarti itereerida?
Arendaja ei saa kaarti otse itereerida, kuid sellel liidesel on kaks meetodit, mis annavad kaardivaate. Need meetodid on:
- Määra >entrySet(): See on meetod, mis tagastab komplekti, mille kirjeid on kaardil mainitud. Nendele kirjetele esitatakse üldiselt vastuväiteid, mille tüüp on Map. Sissepääs.
- Määra keySet(): see Java meetod tagastab komplekti, millel on kaardivõti.
70) Selgitage puukaarti Java
TreeMap on klass, mis rakendab kaardi liidest LinkedHashMap ja HashMap. Samuti võib see rakendada NavigableMapi liidest ja laiendada AbstractMap klassi.
71) Mis vahe on Hashmapil ja Hashtableil?
| Hashmap | Hashtable |
|---|---|
| Seda ei sünkroonita. | See on sünkroonitud. |
| HashMap lubab ühe võtme nullväärtusena. | HashTable ei luba nullväärtusi. |
| HashMapi läbimiseks kasutatakse iteraatorit. | HashTable-i läbimiseks kasutatakse kas iteraatorit või loendajat. |
| Seda saab kasutada nii HashTable'i kui ka HashMapi jaoks ja see on tõrkekiire. | Seda saab kasutada koos HashTable'iga ja see on tõrkekindel. |
| HashMap toimib kiiremini kui HashTable. | Hashtable pole HashMapiga võrreldes palju kiirem. |
72) Selgitage HashSeti sisemist tööd Java
HashSet sisse Java kasutab sisemiselt elementide salvestamiseks HashMapi. Samuti saab see salvestada kordumatuid väärtusi ilma dubleerivate väärtusteta.
In Java, HashSeti arendajal võib olla meetod add(E e), mis võtab parameetrina lisatava elemendi. See ei aktsepteeri võtme ja väärtuse paari.
73) Selgitage Big-O tähistust näitega
Big-O märge kujutab algoritmi jõudlust elementide arvuna loendis ArrayList. Arendaja saab kogu teostuse valimiseks kasutada Big-O tähistust. See põhineb jõudlusel, ajal ja mälul.
Näiteks ArrayList get(index i) on meetod konstantse aja toimingu sooritamiseks. See ei sõltu loendis saadaolevate elementide koguarvust. Seetõttu on jõudlus Big-O-tähistuses O(1).
74) Selgitage parimaid tavasid Java Kogumise raamistik
Parimad tavad: Java Kogumise raamistikud on:
- Õige kollektsiooni tüübi valimine sõltub vajadusest.
- Vältige räsimist või suuruse muutmist, hinnates kogumisklassidesse salvestatavate elementide koguarvu.
- Kirjuta Java programmi liideste osas. See aitab arendajal selle rakendamist tulevikus vaevata muuta.
- Arendaja saab tüübiohutuse tagamiseks kasutada Genericsi.
- Kasutage muutumatuid klasse, mille on andnud Java Arenduskomplekt. Vältige kohandatud klasside jaoks võrdsete () ja hashCode() rakendamist.
- Programmeerija peaks kasutama algoritmide jaoks või kirjutuskaitstud, sünkroonitud või tühjade kogude saamiseks utiliidiklassi Collections. See suurendab koodi korduvkasutatavust madala hooldatavusega.
75) Selgitage erinevat tüüpi järjekordi Java
Seal on kolme tüüpi järjekordi Java:
- Prioriteetne järjekord: See on eritüüpi järjekord, kus elemendid sorteeritakse nende loomuliku järjestuse või kohandatud võrdluse järgi.
- Ringi järjekord: See on teatud tüüpi järjekord, milles kasutajatoimingud tehakse FIFO-meetodi alusel. Viimane element ühendatakse esimese positsiooniga, et teha ring.
- Double-lõpetatud järjekord: Kaheotsaline järjekord on abstraktne andmetüüp, mis üldistab järjekorda. Selle järjekorra elemente saab lisada või eemaldada kas peast või sabast.
76) Mis vahe on virnal ja järjekorral?
| Stack | Järjekord |
|---|---|
| Virna tööpõhimõte on LIFO. | Järjekorra tööpõhimõte on FIFO. |
| Ühte otsa kasutatakse elementide sisestamiseks või kustutamiseks. | Ühte otsa kasutatakse sisestamiseks ja teist otsa kasutatakse elementide kustutamiseks. |
| See kasutab ühte kursorit. | See kasutab lihtsas järjekorras kahte osutit. |
| Sellel pole ühtegi varianti. | Sellel on sellised variandid nagu prioriteetne järjekord, ringikujuline järjekord, kahe otsaga järjekord. |
| Seda on lihtne kasutada. | Seda pole lihtne kasutada. |
77) Mis vahe on massiivi ja virna vahel?
Massiivi ja virna erinevus on järgmine:
| Array | Stack |
|---|---|
| See on indeksiga tuvastatud elementide kogum. | See on kogumisoperatsioon, mis toimib tõuke- ja popoperatsioonidena. |
| Sellel on samad andmetüüpide elemendid. | Sellel on erinevad andmetüüpide elemendid. |
| Elemente saab massiivi eemaldada või lisada juhusliku juurdepääsu toiminguga. | Elemente saab eemaldada või virnasse lisada LIFO-toiminguga. |
78) Iteraatori() defineerimine
Iterator() on liides, mis pakub meetodeid kogu itereerimiseks. Iteraator võib asendada loendis Java. See võimaldab helistajal eemaldada kogust elemente. Meetod annab üldise viisi läbimiseks, kasutades kollektsiooni elemente ja rakendades iteraatori disainimustrit.
79) Millised on erinevad viisid loendi kordamiseks?
Java kollektsioon Framework programmeerija saab loendit itereerida kahel viisil: 1) kasutades iteraatorit ja 2) kasutades seda iga jaoks. silmus.
80) Millised on virna eelised?
Virna eelised on järgmised:
- See aitab teil hallata andmeid LIFO-meetodil, mis pole lingitud loendi ja massiiviga võimalik.
- Funktsiooni kutsumisel salvestatakse kohalikud muutujad virna ja see hävitatakse pärast tagastamist automaatselt.
- Pinu kasutatakse siis, kui muutujat väljaspool seda funktsiooni ei kasutata.
- See võimaldab teil kontrollida, kuidas mälu eraldatakse ja eraldatakse.
- Stack puhastab objekti automaatselt.
- Pole kergesti rikutav
- Muutujad suurust muuta ei saa.
Need intervjuu küsimused aitavad ka teie viva (suuline)

