80 populiariausių „Java“ kolekcijų interviu klausimų ir Atsakymai

Anonim

Čia yra „Java Collections“ interviu klausimai, skirti naujesniems ir patyrusiems kandidatams gauti svajonių darbą.

1) Kas yra „Java“ sistema?

Karkasas yra populiari ir parengta architektūra, kurioje yra klasių ir sąsajų rinkinys.

2) Kas yra „Java“ kolekcijos sistema?

„Collection Framework“ yra klasių ir sąsajų grupė, naudojama objektams laikyti ir valdyti. Jame pateikiamos įvairios klasės, tokios kaip „Vector“, „ArrayList“, „HashSet“, „Stack“ ir kt. „Java Collection“ sistema taip pat gali būti naudojama sąsajoms, tokioms kaip eilė, rinkinys, sąrašas ir kt.

3) Paaiškinkite kolekcijų klasę

java.util.Collections yra klasė, kurią sudaro statiniai metodai, kurie veikia kolekcijose. Jame yra polimorfiniai algoritmai, skirti valdyti kolekcijas, „pakuotes“. Šioje klasėje yra algoritmų metodai, pvz., Dvejetainis rūšiavimas, paieška, maišymas ir kt.

4) Kas yra hashCode ()?

HashCode () yra metodas, kuris grąžina sveiko skaičiaus maišos kodą.

5) „Java“ kolekcijos sistemoje išskirkite „ArrayList“ ir „Vector“.

„ArrayList“ Vektorius
„ArrayList“ negalima sinchronizuoti. Vektorius gali būti sinchronizuotas.
Tai nėra palikimo klasė. Tai yra palikimo klasė.
Jis gali padidinti savo dydį 50% masyvo dydžio. Jis gali padidinti savo dydį padvigubindamas masyvo dydį.
„ArrayList“ nėra saugus siūlams. Vektorius yra saugus siūlams.

6) Kas yra „ArrayList“ „Java“?

„ArrayList“ yra duomenų struktūra, kurią galima ištempti, kad joje tilptų papildomi elementai, ir pašalinus elementus, ji vėl susitraukia iki mažesnio dydžio. Tai labai svarbi duomenų struktūra, naudinga tvarkant dinaminę elementų elgseną.

7) Išskirkite „Iterator“ ir „ListIterator“

Skirtumas tarp „Iterator“ ir „ListIterator“ yra:

Iteratorius „ListIterator“
Iteratorius gali judėti masyvo elementais į priekį. „ListIterator“ gali judėti masyvo elementais atgal ir į priekį.
Jį galima naudoti eilėje, sąraše ir rinkinyje. Jį galima naudoti sąraše.
Jis gali atlikti tik pašalinimo operaciją. Jis gali atlikti pridėjimo, pašalinimo ir nustatymo operaciją, eidamas per kolekciją.

8) Koks skirtumas tarp iteratoriaus ir surašymo?

Skirtumas tarp iteratoriaus ir surašymo

Iteratorius Surašymas
Iteratorius gali įveikti tiek palikimą, tiek ir palikimą neturinčius elementus. Surašymas gali kirsti tik senus elementus.
Iteratorius yra greitas. Surašymas nėra greitas.
Iteratorius yra labai lėtas, palyginti su Surašymu. Surašymas greitai palyginamas su „Iterator“.
Keliaudamas kolekcija, „Iterator“ gali atlikti pašalinimo operaciją. Surašymas gali atlikti tik skersinę kolekcijos operaciją.

9) Apibrėžkite „BlockingQueue“

„BlockingQueue“ yra „Java“ naudojama sąsaja, kuri gali pratęsti eilę. Tai leidžia lygiagrečiai atlikti įvairias eilės operacijas, pvz., Paiešką, įterpimą, ištrynimą ir kt.

Gaunant bet kokius elementus, eilė laukia, kol taps ne tuščia. „BlockingQueue“ neturėtų būti jokių elementų. Šios eilės diegimas yra saugus.

„BlockingQueue“ sintaksė yra tokia:

public interface BlockingQueue extends Queue  

10) Paaiškinkite nepaisymo lygu () metodą

Lygus metodas naudojamas patikrinti dviejų objektų panašumą. Jei programuotojas nori patikrinti objektą pagal nuosavybę, jį reikia nepaisyti.

11) Kuo skiriasi „Palyginamasis“ ir „Palyginamasis“?

Skirtumas tarp „Comparable“ ir „Comparator“ yra:

Palyginamas Palygintojas
„Comparable“ pateikia „Java“ elementų rūšiavimo metodą „salīdzinti“ (). „Comparator“ pateikia „Java“ elementų rūšiavimo metodą palyginti ().
Lyginamoji sąsaja yra pakete java.lang. Lyginamoji sąsaja yra java. util paketas.
Rūšiavimo logika turi būti toje pačioje klasėje, kurios objektą ketinate rūšiuoti. Rūšiavimo logika turėtų būti atskiroje klasėje, kad būtų galima rašyti skirtingą rūšiavimą pagal skirtingus objektų atributus.
Klasė, kurios objektus norite rūšiuoti, turi įdiegti palyginamą sąsają. Klasei, kurios objektus norite rūšiuoti, nereikia įdiegti lyginamosios sąsajos.
Jis teikia atskiras rūšiavimo sekas. Tai teikia kelias rūšiavimo sekas.
Šis metodas gali rūšiuoti duomenis pagal natūralią rūšiavimo tvarką. Šis metodas surūšiuoja duomenis pagal pritaikytą rūšiavimo tvarką.
Tai daro įtaką pradinei klasei. ty, tikroji klasė yra pakeista. Tai neturi įtakos pradinei klasei, ty faktinė klasė nėra pakeista.
API dažnai įgyvendina kalendorius, įvyniojimo klasės, data ir eilutė. Jis įgyvendinamas norint rūšiuoti trečiųjų šalių klasių egzempliorius.
Visos „wrapper“ klasės ir „String“ klasės įdiegia panašią sąsają. Vienintelės įdiegtos „Comparator“ klasės yra „Collator“ ir „RuleBasedColator“.

12) Paaiškinkite lygų () su pavyzdžiu

„Equals“) patikrina, ar skaičiaus objektas yra lygus objektui, kuris perduodamas kaip argumentas, ar ne.

Metodo equals () sintaksė yra:

public boolean equals(Object o) 

Šis metodas reikalauja dviejų parametrų: 1) bet kurio objekto, 2) grąžinimo vertės. Jis pateikia teisingą vertę, jei perduotas argumentas nėra nulis ir yra panašaus tipo objektas, turintis tą pačią skaitinę vertę.

Pavyzdys:

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) Išvardykite generinių vaistų rinkimo pranašumus

Bendrosios kolekcijos naudojimo pranašumai yra šie:

  • Jei programuotojai naudoja bendrąją klasę, jie nereikalauja spausdinimo.
  • Jis yra saugus tipui ir jį galima patikrinti sudarant.
  • Tai suteikia kodo stabilumą nustatant klaidą kompiliavimo metu.

14) Paaiškinkite, kaip konvertuoti „ArrayList“ į „Array“ ir „Array“ į „ArrayList“

Programuotojai gali konvertuoti masyvą į ArrayList naudodami masyvų klasės metodą asList (). Tai yra statinis masyvų klasės metodas, kuris priima sąrašą objektą. AsList () metodo sintaksė yra:

Arrays.asList(item) 

„Java“ programuotojai, naudodami sintaksę, gali konvertuoti „ArrayList“ į „List“ objektą:

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

15) Pateikite „ArrayList“ pavyzdį

Grįžtamojo „ArrayList“ pavyzdys yra:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

16) Pateikite pavyzdį, kaip surūšiuoti masyvą didėjančia tvarka

Masyvo rūšiavimo tvarka mažėjimo tvarka yra:

package com.guru99;public class SelectionSortAlgo {public static void main(String a[]){int[] myArray = {860,8,200,9};System.out.println("------Before Sort-----");printArray(myArray);selection(myArray);//sorting array using selection sortSystem.out.println("-----After Sort-----");printArray(myArray);}public static void selection(int[] array){for (int i = 0; i < array.length - 1; i++){ System.out.println("Sort Pass Number "+(i+1));int index = i;for (int j = i + 1; j < array.length; j++){System.out.println("Comparing "+ array[index] + " and " + array[j]);if (array[j] < array[index]){System.out.println(array[index] + " is greater than " + array[j] );index = j;}}int smallerNumber = array[index];array[index] = array[i];array[i] = smallerNumber;System.out.println("Swapping Elements: New Array After Swap");printArray(array);}}static void printArray(int[] array){for(int i=0; i < array.length; i++){System.out.print(array[i] + " ");}System.out.println();}}

17) Paaiškinkite pagrindines „Java“ kolekcijų sąsajas

„Java“ kolekcijos sistema yra kolekcijos hierarchijos pagrindas. Ji vaizduoja objektų grupę kaip savo elementus. „Java“ programavimo kalba nėra tiesioginis tokios sąsajos įgyvendinimas.

  • Rinkinys: rinkinys nėra jokių elementų kopijų. Elementams saugoti naudojama „hashtable“.
  • Sąrašas: sąrašas yra užsakyta kolekcija, kurioje gali būti pasikartojančių elementų. Tai leidžia kūrėjams pasiekti visus elementus iš gautųjų. Sąrašas yra kaip dinaminio ilgio masyvas.
  • ŽEMĖLAPIS: Tai objektas, kuris susieja raktus su reikšmėmis. Joje negali būti raktų kopijų. Kiekvieną raktą galima susieti bent su viena verte.

18) Kokios yra „Java Hashmap“ funkcijos?

„Java Hashmap“ funkcijos yra šios:

  • Vertes galima išsaugoti žemėlapyje, sudarant raktų ir verčių porą. Vertę galima gauti naudojant raktą, perduodant ją teisingam metodui.
  • Jei Žemėlapyje nėra elemento, jis išmeta „NoSuchElementException“.
  • „HashMap“ saugo tik objektų nuorodas. Štai kodėl neįmanoma naudoti primityvių duomenų tipų, tokių kaip dvigubas ar int. Vietoj to naudokite pakavimo klasę (pvz., Sveikasis skaičius arba Dvigubas).

19) Kas yra krūva?

Šūsnis yra speciali kompiuterio atminties sritis, kurioje saugomi laikini kintamieji, sukurti pagal funkciją. Šūsnyje kintamieji deklaruojami, saugomi ir inicijuojami vykdymo metu.

20) Kas yra susietas sąrašas?

Susietas sąrašas yra duomenų struktūra, kurioje galima saugoti elementų rinkinį. Kitaip tariant, susieti sąrašai gali būti naudojami keliems to paties tipo objektams saugoti. Kiekvienas sąrašo vienetas ar elementas vadinamas mazgu. Susietame sąraše esantis mazgas turi savo duomenis ir kito mazgo adresą. Tai tarsi grandinė. Susieti sąrašai naudojami kuriant grafikus ir medžius.

21) Pateikite „ArrayList“ pavyzdį

„ArrayList“ pavyzdys yra:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

22) Paaiškinkite susietą sąrašą, palaikomą „Java“

„Java“ palaikomi du susietų sąrašų tipai:

  • Vienas susietas sąrašas: atskirai susietas sąrašas yra duomenų struktūros tipas. Atskirai susietame sąraše kiekvienas sąrašo mazgas saugo mazgo turinį ir nuorodą arba rodyklę į kitą sąrašo mazgą. Jame nėra jokios nuorodos ar žymeklio į ankstesnį mazgą.
  • Dvigubai susieti sąrašai: Dvigubai susieti sąrašai yra specialus susietų sąrašų tipas, kuriame duomenų elementus galima pereiti abiem kryptimis. Tai įmanoma turint po du saitus kiekviename mazge, vieną, kuris susieja su kitu mazgu, ir kitą, jungiantį su ankstesniu mazgu.

23) Paaiškinkite „Queue“ sąsajos teikiamus metodus?

„Java Queue“ sąsajos metodai yra šie:

Metodas apibūdinimas
loginis pridėjimas (objektas) Įterpia nurodytą elementą į eilę. Tai pasiteisina tuo atveju, jei pasiseka.
loginis pasiūlymas (objektas) Šis metodas naudojamas elementui įterpti į eilę.
Objekto pašalinimas () Jis gauna ir pašalina eilės galvą.
Objektų apklausa () (): Gauna ir pašalina eilės galvutę arba grąžina nulį, jei ji tuščia.
Objektų apklausa () Jis nuskaito ir pašalina eilės galvutę arba grąžina nulį, jei ji tuščia.
Objekto elementas () Gauna duomenis iš eilės, bet nepašalina jų galvos.
Objekto žvilgsnis () Gauna duomenis iš eilės, bet nepašalina jų galvos, arba tuo atveju, jei eilė yra eilė yra tuščia, ji nuskaitys nulį.

24) Paminėkite „Stack“ klasės pateiktus metodus

Svarbūs „Stack“ klasės metodai yra šie:

  • stumti (): stumkite daiktą į kaminą.
  • tuščias (): Šis metodas nustato, ar kaminas tuščias, ar ne.
  • pop (): Šis „Java“ kolekcijos sistemos metodas pašalina objektą iš rietuvės.
  • search (): Šis metodas ieško elementų rietuvėje.
  • peek (): Šis „Java“ metodas žiūri į kamino objektą jo nepašalinant.

25) „Java“ rinkinių sistemoje apibrėžkite emptySet ()

Metodas emptySet (), kuris pateikia tuščią nekintamą rinkinį, kai programuotojai bando pašalinti nulinius elementus. Rinkinį, kurį grąžina emptySet (), galima suderinti. Šio metodo sintaksė yra tokia:

public static final Nustatyti emptySet ()

26) Skirkite kolekciją ir kolekcijas

Skirtumas tarp kolekcijos ir kolekcijų yra:

Kolekcija Kolekcijos
Kolekcija yra sąsaja. Kolekcijos yra klasė.
Ji vaizduoja objektų grupę kaip vieną objektą. Jis apibrėžia įvairius surinkimo objektų naudingumo metodus.
Kolekcija yra pagrindinė „Java Collection“ sistemos sąsaja. Kolekcijos yra bendrosios klasės.
Ši sąsaja naudojama kuriant duomenų struktūras. Šioje klasėje yra statiniai manipuliavimo duomenų struktūra metodai.

27) Apibrėžti „LinkedHashSet“ „Java Collection“ sistemoje?

„LinkedHashSet“ yra klasės poklasis, vadinamas „HashSet“ ir įgyvendina nustatytą sąsają. Tai gerai sutvarkyta „HashSet“ versija, palaikanti dvigubai susietą sąrašą visuose jo elementuose.

28) Kuo skiriasi nesėkmė ir nesaugumas?

Nepasisekimas Nesaugus
Tai neleidžia modifikuoti kolekcijos kartojant. Tai leidžia modifikuoti kolekciją kartojant.
Tai gali mesti „ConcurrentModificationException“ Tai negali būti jokių išimčių.
Elementams pervažiuoti naudojama originali kolekcija. Elementams pereiti naudojama originali kolekcijos kopija.
Papildomos atminties nereikia. Yra papildomos atminties reikalavimas.

29) Išvardykite žemėlapio sąsajos kolekcijos rodinius

Žemėlapio sąsajos kolekcijos rodiniai yra: 1) raktų rinkinio rodinys, 2) vertės rinkinio rodinys ir 3) įrašo rinkinio rodinys.

30) Kuo naudinga „Java“ rinkinių sistema?

„Java“ rinkinio sistemos pranašumai yra šie:

  • „Java“ kolekcijos sistema siūlo labai efektyvias ir efektyvias duomenų struktūras, kurios padidina programos tikslumą ir greitį.
  • Programą, sukurtą naudojant „Java“ kolekcijos sistemą, lengva prižiūrėti.
  • Kūrėjas gali maišyti klases su kitais tipais, dėl kurių padidėja kodo pakartotinis naudojimas.
  • „Java“ kolekcijos sistema leidžia programuotojams modifikuoti primityvius rinkinių tipus taip, kaip jiems patinka.

31) Koks yra geras būdas rūšiuoti „Java“ kolekcijos objektus?

Geras būdas rūšiuoti „Java“ kolekcijos objektus yra naudojant „Comparable“ ir „Comparator“ sąsajas. Kūrėjas gali naudoti „Collections.sort ()“, elementai rūšiuojami pagal užsakymo paminėjimą, esantį „CompareTo“ ().

Kai kūrėjas naudoja kolekcijas, rūšiuoti („Comparator“), objektai rūšiuojami priklausomai nuo „Comparator“ sąsajos palyginimo ().

32) Paaiškinkite vektorių „Java“

Vektorius yra tas pats kaip masyvas. Jame yra komponentų, kuriuos galima pasiekti naudojant indekso vertę. Vektoriuose gali būti palikimo metodas, kuris nėra rinkimo sistemos dalis.

33) Kuo skiriasi „Set“ ir „Map“?

Nustatyti Žemėlapis
Rinkinys priklauso paketui-java.util. Žemėlapis priklauso package- java.util.
Tai gali išplėsti rinkimo sąsają. Tai neišplečia rinkimo sąsajos.
Tai neleidžia pasikartojančių verčių. Tai leidžia pasikartojančias vertes.
Rinkinys gali rūšiuoti tik vieną nulinę vertę. Žemėlapis gali rūšiuoti kelias nulines reikšmes.

34) Apibrėžkite žodyno klasę

Žodyno klasė yra „Java“ klasė, galinti laikyti raktų ir reikšmių poras.

35) Apibrėžkite „EnumSet“

java.util.EnumSet yra rinkinio diegimas, kurį galima naudoti su enum tipais. „EnumSet“, turintis visus elementus, turi būti kilęs iš vieno, aiškiai ar netiesiogiai nurodyto „enum“ tipo. Tai nėra sinchronizuota, taip pat neleidžiami niekiniai raktai. „EnumSet“ pateikia tokius metodus kaip „EnumSetof“ (pirmiausia E, E

... poilsis) ,plementOf („EnumSet s“) ir „copyOf“ (c rinkinys).

36) Kokie yra du būdai pašalinti kopijas iš „ArrayList“?

Du būdai pašalinti kopijas iš „ArrayList“ yra šie:

  • „HashSet“: kūrėjas gali naudoti „HashSet“, kad pašalintų pasikartojantį elementą iš „ArrayList“. Trūkumas yra tai, kad jis negali išsaugoti įterpimo tvarkos.
  • „LinkedHashSet“: kūrėjai taip pat gali išlaikyti įterpimo tvarką naudodami „LinkedHashSet“, o ne „HashSet“.

37) Kas yra „IdentityHashMap“?

„IdentityHashMap“ yra klasė, įgyvendinanti „Serializable“, „Clonable“ sąsajas, „Map“ ir pratęsianti „AbstractMap“ klasę. Jis skirtas atvejui, kai reikia referencijos lygybės semantikos.

38) Kas yra „WeakHashMap“?

„WeakHashMap“ yra „Java Map“ įgyvendinimas. Jis naudojamas silpnoms nuorodoms į raktus saugoti. Rūšiuojant naudojant šį žemėlapį, raktų ir verčių pora surenkama kaip šiukšlė. Jo raktas nėra nurodomas už „WeakHashMap“ ribų.

39) Kokie yra metodai, kaip saugiai rinkti siūlus?

Metodai, kaip surinkimo siūlą padaryti saugų, yra šie:

  • Collections.synchronizedList (sąrašas);
  • Collections.synchronizedMap (žemėlapis);
  • Collections.synchronizedSet (rinkinys);

40) Paaiškinkite „UnsupportedOperationException“

„UnsupportedOperationException“ yra išimtis, kuri metama metodams, kurių nepalaiko tikrasis kolekcijos tipas.

Pavyzdžiui, kūrėjas sudaro tik skaitomą sąrašą naudodamas „Collections.unmodifiableList (list)“ ir skambindamas (), add () arba remove () metodu. Tai turėtų aiškiai mesti „UnsupportedOperationException“.

41) Įvardykite rinkimo klases, kurios suteikia atsitiktiniam elementų prieigą prie jo elementų

Kolekcijos klasės, suteikiančios atsitiktiniam elementų prieigą prie jo elementų, yra: 1) „ArrayList“, 2) „HashMap“, 3) „TreeMap“ ir 4) „Hashtable“.

42) Paaiškinkite skirtumą tarp eilės ir deikos.

Eilė Deque
Tai vadinama vienos pabaigos eilė Tai vadinama dviguba pabaiga
Eilės elementai pridedami arba pašalinami iš vieno galo Eilės elementai pridedami iš bet kurio galo, kuriuos galima pridėti ir pašalinti iš abiejų galų
Tai mažiau universali. Jis yra universalesnis.

43) Paminėkite sąveiką „Sąrašas ir rinkinys“

Klasės realizavimo Sąsaja sąsaja: 1) ArrayList, 2) Vector ir 3) LinkedList.

Klasė, įgyvendinanti „Set“ sąsają: 1) „HashSet“ ir 2) „TreeSet“.

44) Paaiškinkite „Iterator“ modelio modelį

Kartotojas laikosi iteratoriaus dizaino modelio detalių. Tai suteikia kūrėjui galimybę naršyti po objektų kolekcijas naudojant bendrą sąsają nežinant jos įgyvendinimo.

45) Kas yra „Queue“ sąsajos žvilgsnis ()?

„Peek“ () yra eilės sąsajos metodas. Jis gauna visus elementus, bet nepašalina eilės galvos. Jei eilė tuščia, šis metodas bus grąžintas į nulį.

46) Kas yra „CopyOnWriteArrayList“?

„CopyOnWriteArrayList“ yra „ArrayList“ variantas, kuriame tokios operacijos, kaip pridėjimas ir nustatymas, įgyvendinamos sukuriant masyvo kopiją. Tai yra saugus siūlas ir todėl nemeta „ConcurrentModificationException“. Šis „ArrayLists“ leidžia visus elementus, įskaitant „null“.

47) Skirkite „ArrayList“ ir „LinkedList“

Skirtumas tarp „ArrayList“ ir „LinkedList“ yra:

„ArrayList“ „LinkedList“
Jis naudoja dinaminį masyvą. Jis naudoja dvigubai susietą sąrašą.
„ArrayList“ nėra naudingesnis manipuliavimui. „LinkedList“ pageidautina manipuliuoti.
„ArrayList“ suteikia atsitiktinę prieigą. „LinkedList“ neteikia atsitiktinės prieigos.
„ArrayList“ saugo tik objektus, todėl užima mažiau atminties „LinkedList“ saugo objektą, taip pat adreso objektą; taigi, reikia daugiau atminties.

48) Paaiškinkite iteratoriaus sąsajos metodus

Iteratoriaus sąsajos metodai yra šie:

Metodas apibūdinimas
viešoji loginė reikšmė hasNext () Tai grįžta tiesa, kai iteratorius turi elementų; priešingu atveju jis pateikia klaidingą.
kitas objektas kitas () Šis metodas grąžina elementą ir perkelia žymeklį į kitą vertę.
public void pašalinti () Šis „Java“ metodas gali pašalinti paskutinius iteratoriaus grąžintus elementus. „Public void remove“ () yra mažiau naudojamas.

49) Kokie yra „HashSet“ klasės metodai?

„HashSet“ klasės metodai yra šie:

Metodai apibūdinimas
loginis pridėjimas (o objektas) Šis metodas prideda minėjimo elementą prie šio rinkinio, jei jo dar nėra.
Boolean yra (Object o): Jis grąžina reikšmę true, jei rinkinyje yra nurodytas elementas.
negaliojantis aiškus (): Šis metodas pašalina nustatytus elementus.
loginis yra tuščias (): Tai grįžta teisingai, rinkinys neturi elementų.
loginis šalinimas (o objektas): Jis pašalina nurodytą elementą iš rinkinio.
objekto klonas (): Šis metodas pateikia „HashSet“ egzemplioriaus kopiją: patys elementai nėra klonuojami.
iteratorius iteratorius () Tai grąžina šio rinkinio elementų iteratorių.
int dydis (): Tai grąžina rinkinyje galimų elementų skaičių.

50) Kokie yra „Java TreeSet“ klasės metodai?

„Java TreeSet“ klasės metodai yra šie:

Metodai Aprašymai
loginis „addAll“ (c rinkinys) Į šį rinkinį įtraukite visus nurodytos kolekcijos elementus.
loginės reikšmės yra (Object o) Grąžina tiesą, jei rinkinyje yra paminėjimo elementas.
loginis yra tuščias () Šis „Java“ metodas grąžinamas, jei šiame rinkinyje nėra elementų.
loginis šalinimas (o objektas) Pašalinkite nurodytą elementą iš rinkinio.
void add (objektas o) Jis prideda nurodytą elementą prie rinkinio.
negaliojantis aiškus () Šis „Java“ metodas pašalina visus elementus iš rinkinio.

51) Paaiškinkite susietą „HashSet“

„Java LinkedHashSet“ klasė yra susietosios sąsajos „Linked list“ ir „Hash“ lentelė. Jame yra unikalių elementų, tokių kaip „HashSet“. „Java“ susietasis „HashSet“ taip pat teikia pasirinktines rinkinio operacijas, kurios palaiko įterpimo tvarką.

52) Kokie svarbūs metodai naudojami susietame sąraše?

Svarbūs susietame sąraše naudojami metodai yra šie:

Metodas apibūdinimas
loginis pridėjimas (o objektas) Jis naudojamas nurodytam elementui pridėti prie vektoriaus pabaigos.
loginės reikšmės yra (Object o) Tai metodas, kuris grąžina true, jei šiame sąraše yra nurodytas elementas.
void add (int indeksas, objekto elementas) Įterpia elementą į nurodytą elementą vektoriuje.
void addFirst (objektas o) Jis naudojamas nurodytam elementui įterpti pradžioje.
void addLast (objektas o) Jis naudojamas nurodytam elementui pridėti iki galo.
Vidutinis dydis () Šis metodas gali būti naudojamas grąžinti bendrą elementų skaičių sąraše.
loginis šalinimas (o objektas) Tai gali pašalinti pirmą nurodyto elemento atsiradimą iš šio sąrašo.
int indexOf (objekto elementas) Šis „Java“ metodas grąžina indeksą, pirmą kartą minint elementą šiame sąraše, arba -1.
int lastIndexOf (objekto elementas) Tai yra „Java“ metodas, kuris grąžina indeksą su paskutiniu nurodyto elemento įvykiu šiame sąraše arba –1.

53) Išvardykite įvairias rinkinių klases

Įvairūs rinkiniai yra: HashSet, TreeSetand ir LinkedHashSet.

54) Išvardykite „Java Queue“ sąsajoje galimus metodus

  • loginis pridėjimas (objektas)
  • loginis pasiūlymas (objektas)
  • objektas pašalinti ()
  • objekto apklausa ()
  • objekto elementas ()
  • objekto žvilgsnis ()

55) Diferencijuokite sąrašą ir rinkinį.

Sąrašas Nustatyti
Užsakyta elementų kolekcija Neužsakyta elementų kolekcija
Išsaugo įterpimo tvarką Neišsaugo įterpimo tvarkos
Leidžiamos pasikartojančios vertės Dublikatų vertės neleidžiamos
Galima išsaugoti bet kokį skaičių nulinių verčių Galima išsaugoti tik vieną nulinę vertę
„ListIterator“ gali būti naudojamas norint pereiti sąrašą bet kuria kryptimi „ListIterator“ negalima naudoti norint pereiti rinkinį
Turi seną klasę, vadinamą vektoriu Nėra jokių senų klasių

56) Kiekvienai kilpai paaiškinkite pavyzdžiu

„For-Each Loop“ yra kita kilpos forma, naudojama masyvui kirsti. Tai žymiai sumažina kodą, o kilpa nenaudoja indekso ar veikiau skaitiklio.

Kiekvienos kilpos pavyzdys:

class UsingForEach {public static void main(String[] args) {String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};//The conventional approach of using the for loopSystem.out.println("Using conventional For Loop:");for(int i=0; i< arrData.length; i++){System.out.println(arrData[i]);}System.out.println("\nUsing Foreach loop:");//The optimized method of using the for loop - also called the foreach loopfor (String strTemp : arrData){System.out.println(strTemp);}}}

57) Paaiškinkite deimantų operatorių

Deimantinis operatorius leidžia kompiliatoriui rinkti generinės klasės tipo argumentus. Programoje „Java SE“ kūrėjas parametruojamą konstruktorių gali pakeisti tuščiais parametrų rinkiniais (<>), žinomais kaip deimantų operatorius.

58) Paaiškinkite atsitiktinio prisijungimo sąsają

Sąrašą „RandomAccess“ naudoja sąsaja, nurodydama, kad jie greitai palaiko.

59) Įvardykite rinkimo klases, kurios įdiegia atsitiktinės prieigos sąsają

„Java.util“ pakete yra tokios klasės, kurios gali įdiegti atsitiktinės prieigos sąsają: „CopyOnWriteArrayList“, „Stack“, „ArrayList“ ir „Vector“.

60) Kaip prisijungti prie kelių „ArrayLists“?

Sąraše pateikiamas „addall“ () metodo „Java“ sudėtinis „ArrayList“.

Pavyzdžiui, apsvarstykite du sąrašus: 1) areaList ir 2) secondAreaList. Kūrėjas gali prisijungti prie jų naudodamas „addall“ (), pvz .:

areaList.addAll (secondAreaList);

61) Paaiškinkite deque sąsają

„Java.util.Deque“ yra „Java“ sąsaja, pratęsianti eilės sąsają. Tai palaiko elementų įterpimą ir ištrynimą abiejuose galuose. Ši eilė dar vadinama dviguba pabaiga.

62) Paaiškinkite „Linkedhashmap“

„LinkedHashMap“ yra „Map“ sąsajos įgyvendinimas. Tai taip pat gali išplėsti „HashMap“ klasę. Todėl, kaip ir „HashMap“, „LinkedHashMap“ leidžia „Java“ kūrėjams leisti naudoti vieną nulinį raktą ir daugiau nei vieną nulinę reikšmę.

63) Paaiškinkite elementų pašalinimo iš „ArrayList“ metodus

Elementų pašalinimo iš „ArrayList“ metodai yra šie:

Metodas apibūdinimas
aišku () Šis metodas pašalina elementus iš „ArrayList“.
pašalinti (int indeksas) Šis „ArrayList“ metodas gali pašalinti elementą tam tikroje padėtyje.
pašalinti (objektas o) Tai gali pašalinti pirmą paminėjimo elemento atsiradimą iš „ArrayList“.
pašalinti visus() Tai gali pašalinti tam tikroje kolekcijoje esančių elementų sąrašą.
removeIf (Predikatas filtras) Šis metodas pašalina elementus, kurie patenkina predikato paminėjimą.

64) Paaiškinkite žemėlapį. įrašas Žemėlapyje

Map.entry yra java.util „Java“ sąsaja. Žemėlapyje yra įdėta sąsaja. Ši sąsaja turi būti kvalifikuota pagal klasės ar sąsajos, kurios narys ji yra, pavadinimą. Todėl jis yra laikomas žemėlapiu. Įėjimas. Tai reiškia raktų ir reikšmių porą, kuri gali sudaryti žemėlapio elementą.

Šis metodas pateikia kolekcijos vaizdą. Pavyzdžiui, apsvarstykite „cityMap“ kaip žemėlapį. Kūrėjas gali naudoti „entrySet“ () norėdamas gauti nustatytą žemėlapio vaizdą su elementu „Map.Entry“. Programuotojas taip pat gali naudoti žemėlapio „getKey“ () ir „getValue“ () įrašą. Norėdami gauti žemėlapio raktų ir vertės porą.

65) Kuris metodas naudojamas masyvui rūšiuoti didėjimo tvarka?

„Java“ kolekcijos pagrindų metodas „Collections.sort“ () naudojamas masyvui rūšiuoti didėjimo tvarka.

66) Kaip įvertinti „ArrayList“ našumą?

„ArrayList“ našumą galima įvertinti:

  • Elemento pridėjimas: Kūrėjas gali pridėti elementą „ArrayList“ pabaigoje naudodamas metodą add (E e). Tai yra O (1). Blogiausiu atveju tai gali būti O (n). Taip gali atsitikti, jei kūrėjas prideda daugiau elementų nei masyvo talpa.
  • Elemento gavimas : - Kūrėjas gali pasiekti masyvo indeksą naudodamas get (int index). Šiuo atveju našumą galima įvertinti naudojant „ArrayList get“ () yra O (1).
  • Elemento pašalinimas: Jei kūrėjai pašalina elementą naudodami šalinimo (int indeksą), „ArrayList“ našumą galima apskaičiuoti naudojant minėtą šalinimo (int indekso) operaciją yra O (n - rodyklės) metodas.

67) Paaiškinkite „LinkedList“ klasę

„Java“ klasė „LinkedList“ įgyvendina „Deque“ ir „List“ naudodama dvigubai susietą sąrašą. Dvigubai susietame sąraše yra privačios klasės mazgas, kuriame pateikiama jo struktūra. Jame taip pat yra elemento kintamasis, skirtas laikyti vertę ir nuoroda į „Node“ klasę. Tai gali būti naudojama prijungiant kitą ir ankstesnį mazgus.

68) Pateikite Hashmap pavyzdį

„Hashmap“ pavyzdys yra:

import java.util.HashMap;import java.util.Map;public class Sample_TestMaps{public static void main(String[] args){Map objMap = new HashMap();objMap.put("Name", "Suzuki");objMap.put("Power", "220");objMap.put("Type", "2-wheeler");objMap.put("Price", "85000");System.out.println("Elements of the Map:");System.out.println(objMap);}}

69) Kaip kartoti žemėlapį?

Kūrėjas negali tiesiogiai kartoti žemėlapio, tačiau ši sąsaja turi du metodus, kurie suteikia žemėlapio rodinio rinkinį. Šie metodai yra:

  • Set <Žemėlapis. Įėjimas > entrySet (): Tai metodas, kuris grąžina rinkinį, kuriame įrašai paminėti žemėlapyje. Šiems įrašams paprastai prieštaraujama, kurio tipas yra Žemėlapis. Įėjimas.
  • Nustatyti keySet (): Šis „Java“ metodas pateikia rinkinį, turintį žemėlapio raktą.

70) Paaiškinkite „Java“ žemėlapį

„TreeMap“ yra klasė, įgyvendinanti „Map“ sąsają „LinkedHashMap“ ir „HashMap“. Jis taip pat gali įgyvendinti „NavigableMap“ sąsają ir išplėsti „AbstractMap“ klasę.

71) Kuo skiriasi „Hashmap“ ir „Hashtable“?

Hashmap „Hashtable“
Tai nėra sinchronizuota. Jis sinchronizuojamas.
„HashMap“ leidžia vieną raktą naudoti kaip nulinę vertę. „HashTable“ neleidžia nulinių verčių.
„Iterator“ naudojamas norint pervažiuoti „HashMap“. Arba „Iterator“ arba „Enumerator“ naudojami norint pervažiuoti „HashTable“.
Jis gali būti naudojamas tiek „HashTable“, tiek „HashMap“ ir yra greitas. Jį galima naudoti su „HashTable“ ir jis yra saugus.
„HashMap“ veikia greičiau nei „HashTable“. „Hashtable“ nėra daug greitesnis, palyginti su „HashMap“.

72) Paaiškinkite „HashSet“ vidinį veikimą „Java“

„Java“ „HashSet“ elementai saugomi viduje naudojant „HashMap“. Jis taip pat gali saugoti unikalias vertes be jokių pasikartojančių verčių.

„Java“ sistemoje „HashSet“ kūrėjas gali turėti metodą add (E e), kuriam kaip parametrui reikia pridėti tik elementą. Ji nepriima raktų ir reikšmių poros.

73) Paaiškinkite Big-O žymėjimą pavyzdžiu

„Big-O“ žymėjimas rodo algoritmo našumą kaip elementų skaičių „ArrayList“. Kūrėjas gali naudoti „Big-O“ žymėjimą rinkinio diegimui pasirinkti. Tai pagrįsta našumu, laiku ir atmintimi.

Pavyzdžiui, „ArrayList get“ (indeksas i) yra metodas operacijai pastoviu laiku atlikti. Tai nepriklauso nuo bendro sąraše esančių elementų skaičiaus. Todėl „Big-O“ žymėjimas yra O (1).

74) Paaiškinkite geriausią „Java Collection Framework“ praktiką

Geriausia „Java Collection Framework“ praktika yra:

  • Pasirinkite tinkamą kolekcijos tipą, priklausomai nuo poreikio.
  • Venkite pakartotinio keitimo ar dydžio keitimo, įvertindami bendrą kolekcijos klasėse saugomų elementų skaičių.
  • Parašykite „Java“ programą sąsajų požiūriu. Tai padės kūrėjui ateityje be jokių pastangų pakeisti jo įgyvendinimą.
  • Kūrėjas, norėdamas apsaugoti tipą, gali naudoti „Generics“.
  • Naudokite nekintamas klases, kurias suteikia „Java Development Kit“. Venkite lygių () ir hashCode () diegimo pasirinktinėms klasėms.
  • Programuotojas turėtų naudoti rinkinių naudingumo klasę algoritmams arba tik skaitomoms, sinchronizuotoms ar tuščioms kolekcijoms gauti. Tai pagerins kodo pakartotinį naudojimą ir bus mažai prižiūrimas.

75) Paaiškinkite įvairius „Java“ eilių tipus

„Java“ yra trijų tipų eilės:

  • Prioritetinė eilė: tai specialus eilės tipas, kai elementai yra rūšiuojami pagal jų natūralų eiliškumą arba pasirinktinį palyginimą.
  • Žiedinė eilė: tai eilės tipas, kuriame vartotojo operacijos atliekamos remiantis FIFO metodu. Paskutinis elementas yra sujungtas su pirmąja padėtimi, kad būtų sudarytas apskritimas.
  • Dvipusė eilė: Dvipusė eilė yra abstraktus duomenų tipas, apibendrinantis eilę. Šios eilės elementus galima pridėti arba pašalinti iš galvos ar uodegos.

76) Koks skirtumas tarp kamino ir eilės?

Sukrauti Eilė
Kamino darbo principas yra LIFO. Veikiantis eilės principas yra FIFO.
Vienas galas naudojamas elementams įterpti ar ištrinti. Vienas galas naudojamas įterpimui atlikti, o kitas galas naudojamas elementams ištrinti.
Jis naudoja vieną rodyklę. Jis naudoja du rodykles paprastoje eilėje.
Jis neturi jokio varianto. Jame yra tokių variantų kaip prioritetinė eilė, žiedinė eilė, dvigubai baigta eilė.
Tai lengva naudoti. Tai nėra lengva naudoti.

77) Koks skirtumas tarp masyvo ir kamino?

Masyvo ir kamino skirtumas yra:

Masyvas Sukrauti
Tai yra elementų, kuriuos identifikuoja indeksas, rinkinys. Tai rinkimo operacija, kuri veikia kaip „push and pop“ operacijos.
Jame yra vienodi duomenų tipų elementai. Joje yra skirtingų duomenų tipų elementų.
Elementus galima pašalinti arba įtraukti į masyvą naudojant atsitiktinės prieigos operaciją. Elementus galima pašalinti arba pridėti į kaminą naudojant LIFO operaciją.

78) Apibrėžkite iteratorių ()

„Iterator“ () yra sąsaja, teikianti metodus, kaip pakartoti kolekciją. „Iterator“ gali užimti „Java“ surašymo vietą. Tai leidžia skambinančiajam pašalinti elementus iš kolekcijos. Šis metodas suteikia bendrą perėjimo būdą, naudojant kolekcijos elementus ir įgyvendinant iteratoriaus dizaino modelį.

79) Kokie yra įvairūs sąrašo kartojimo būdai?

„Java collection Framework“ programuotojas gali kartoti sąrašą dviem būdais: 1) naudodamas iteratorių ir 2) naudodamas jį kiekvienai kilpai.

80) Kokie yra kamino pranašumai?

Šūsnio privalumai yra šie:

  • Tai padeda jums tvarkyti duomenis „Last In First Out“ (LIFO) metodu, o tai neįmanoma naudojant susietą sąrašą ir masyvą.
  • Kai iškviečiama funkcija, vietiniai kintamieji yra saugomi rietuvėje ir, grąžinus, jie automatiškai sunaikinami.
  • Šūsnis naudojamas, kai kintamasis nenaudojamas už tos funkcijos ribų.
  • Tai leidžia jums kontroliuoti, kaip paskirstoma ir paskirstoma atmintis.
  • „Stack“ automatiškai išvalo objektą.
  • Nelengvai sugadinamas
  • Kintamųjų dydžio keisti negalima.