Siin on Java kogude intervjuuküsimused värskematele ja kogenud kandidaatidele, et saada oma unistuste töökoht.
1) Mis on Java raamistik?
Raamistik on populaarne ja valmisprojektiga arhitektuur, mis sisaldab klasside ja liideste komplekti.
2) Mis on Java kogumisraamistik?
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 Collection raamistikku saab kasutada ka selliste liideste jaoks nagu Queue, Set, List jne.
3) Selgitage kogude klassi
java.util.Collections on klass, mis koosneb staatilistest meetoditest, mis opereerivad kogudel. See sisaldab polümorfseid algoritme kollektsioonide, "ümbriste" kasutamiseks. See klass sisaldab meetodeid algoritmide jaoks, nagu binaarne sortimine, otsimine, segamine jne.
4) Mis on hashCode ()?
HashCode () on meetod, mis tagastab täisarvu räsikoodi.
5) Tehke Java kollektsiooni raamistikus vahet ArrayListi ja Vectori vahel.
ArrayList | Vektor |
ArrayList ei saa sünkroonida. | Vektor saab olla sünkroniseeritud. |
See pole pärandklass. | See on pärandklass. |
See võib suurendada oma suurust 50% massiivi suurusest. | See võib suurendada oma suurust, kahekordistades massiivi suurust. |
ArrayList ei ole niidikindel. | Vektor on niidikindel. |
6) Mis on Java ArrayList?
ArrayList on andmestruktuur, mida saab venitada, et see mahutaks enda sisse täiendavaid elemente ja kahaneks elementide eemaldamisel väiksemaks. See on väga oluline andmestruktuur, mis on kasulik elementide dünaamilise käitumise käsitlemisel.
7) Tehke vahet Iteratoril ja ListIteratoril
Iteratori ja ListIteraatori erinevus on järgmine:
Iteraator | ListIterator |
Iteraator saab läbida massiivi elemente ettepoole. | ListIterator saab massiivi elemente läbida nii tahapoole kui ka edasi. |
Seda saab kasutada järjekorras, loendis ja komplektis. | Seda saab kasutada loendis. |
See saab teha ainult eemaldamise toimingu. | See võib kollektsiooni läbides lisada, eemaldada ja seadistada toiminguid. |
8) Mis vahe on itaatoril ja loendajal?
Iteraatori ja loendaja erinevus
Iteraator | Loendamine |
Iteraator saab läbida nii pärandusi kui ka pärandita elemente. | Loendamine võib läbida ainult pärandelemendid. |
Iteraator on tõrkekindel. | Loendamine pole ebaõnnestuv. |
Iteraator on loendusega võrreldes väga aeglane. | Loendamine on võrreldes Iteratoriga kiire. |
Iterator saab kollektsiooni läbides eemaldada eemaldamistoimingu. | Loend võib kollektsioonil teha ainult põikioperatsiooni. |
9) Määrake BlockingQueue
BlockingQueue on Java-s kasutatav liides, mis võib järjekorda pikendada. See võimaldab samaaegsust erinevates järjekorratoimingutes, nagu otsing, sisestamine, kustutamine jne.
Mis tahes elementide hankimise ajal ootab järjekord tühjaks jäämist. BlockingQueue ei tohiks sisaldada nullelemente. Selle järjekorra rakendamine on niidikindel.
BlockingQueue'i süntaks on järgmine:
public interface BlockingQueueextends Queue
10) Selgitage meetodit Alista võrdus ()
Kahe objekti sarnasuse kontrollimiseks kasutatakse meetodit Võrdne. Juhul, kui programmeerija soovib objekti atribuudi põhjal kontrollida, tuleb see tühistada.
11) Mis vahe on võrreldaval ja võrreldaval?
Erinevus võrreldava ja võrreldava vahel on järgmine:
Võrreldav | Võrdleja |
Comparable pakub Java-elementide sortimiseks meetodit CompTo (). | Comparator pakub Java-elementide sortimiseks meetodit võrdlus (). |
Võrreldav liides on paketis java.lang. | Võrdlusliides on javas olemas. util pakett. |
Sorteerimise loogika peab olema samas klassis, mille objekti kavatsete sorteerida. | Sorteerimise loogika peaks olema eraldi klassis, et kirjutada objektide erinevate atribuutide põhjal erinev sortimine. |
Klass, mille objekte soovite sortida, peab rakendama võrreldavat liidest. | Klass, mille objekte soovite sortida, ei pea võrdlusliidest juurutama. |
See pakub üksikuid järjestamisjärjestusi. | See pakub mitut sorteerimisjärjestust. |
Selle meetodiga saab andmeid sortida vastavalt loomulikule sortimisjärjestusele. | See meetod sorteerib andmed vastavalt kohandatud sortimisjärjestusele. |
See mõjutab algset klassi. st tegelikku klassi muudetakse. | See ei mõjuta algset klassi, st tegelikku klassi ei muudeta. |
Rakendatakse API-s sageli kalendri, ümbriste klasside, kuupäeva ja stringi järgi. | Seda rakendatakse kolmandate osapoolte klasside eksemplaride sortimiseks. |
Kõik pakendiklassid ja String-klass rakendavad võrreldavat liidest. | Ainsad rakendatud Comparatori klassid on Collator ja RuleBasedColator. |
12) Selgitage võrdsusega () näitega
Võrdub () kontrollib, kas arvobjekt on võrdne argumendina edastatud objektiga.
Meetodi equals () süntaks on:
public boolean equals(Object o)
See meetod võtab kaks parameetrit 1) mis tahes objekti, 2) tagastusväärtuse. See tagastab tõene, kui edastatud argument ei ole null ja see on sarnast tüüpi objekt, millel on sama arvuline vää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 geneeriliste ravimite kogumise eelised
Geneerilise kollektsiooni kasutamise eelised on järgmised:
- Kui programmeerijad kasutavad üldklassi, ei vaja nad tüübiväljapanekut.
- See on tüübikindel ja seda saab koostamise ajal kontrollida.
- See tagab koodi stabiilsuse, tuvastades kompileerimise ajal vea.
14) Selgitage meetodit ArrayListi teisendamiseks massiiviks ja massiivi array loendiks
Programmeerijad saavad massiivi massiiviks ArrayList teisendada, kasutades massiivi klassi asList () meetodit. See on massiivi klassi staatiline meetod, mis aktsepteerib objekti Loend. Meetodi asList () süntaks on:
Arrays.asList(item)
Java programmeerijad saavad süntaksit kasutades teisendada ArrayListi objektiks Loend:
List_object.toArray(new String[List_object.size()])
15) Tooge näide ArrayListist
Tagurpidi ArrayList näide on:
import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayListarlTest = 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) Too näiteks massiivi järjestamine kahanevas järjestuses
Massiivi järjestamine kahanevas järjestuses 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 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) Selgitage Java kogude raamistiku põhiliideseid
Java kollektsiooni raamistik on kollektsiooni hierarhia juur. Selle elementidena esindab see objektide rühma. Java programmeerimiskeel ei paku sellise liidese otsest rakendamist.
- Komplekt: komplekt on kollektsioon, millel pole duplikaatelemente. See kasutab elementide salvestamiseks hashtable'i.
- Loend: loend on tellitud kogu, mis võib sisaldada duplikaatelemente. See võimaldab arendajatel juurdepääsu oma postkastis olevatele elementidele. Nimekiri on nagu massiiv, millel on dünaamiline pikkus.
- KAART: see on objekt, mis kaardistab võtmed väärtustele. See ei tohi sisaldada võtmete duplikaate. Iga võtit saab kaardistada vähemalt ühe väärtusega.
18) Mis on Java Hashmapi omadused?
Java Hashmapi omadused on:
- Väärtusi saab kaardile salvestada, moodustades võtme-väärtuste paari. Väärtuse saab kätte võtme abil, edastades selle õigele meetodile.
- Kui kaardil pole ühtegi elementi, visatakse see 'NoSuchElementException'.
- HashMap salvestab ainult objektiviited. Sellepärast on võimatu kasutada primitiivseid andmetüüpe nagu double või int. Selle asemel kasutage ümbrisklassi (nt täisarv või kahekordne).
19) Mis on virn?
Virn on arvuti mälu eripiirkond, kuhu salvestatakse funktsiooni loodud ajutised muutujad. Virnas deklareeritakse, salvestatakse ja lähtestatakse muutujaid käitamise ajal.
20) Mis on lingitud loend?
Lingitud loend on andmestruktuur, kuhu saab salvestada üksuste kogu. Teisisõnu, lingitud loendeid saab kasutada mitme sama tüüpi objekti salvestamiseks. Loendi igat üksust 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.
21) Too näiteks ArrayList
ArrayListi näide on:
import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayListarlTest = 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) Selgitage Java toetatud lingitud loendit
Java toetab kahte tüüpi lingitud loendeid:
- Üksikult lingitud loend: üksikult lingitud loend on teatud tüüpi andmestruktuur. Ainult lingitud loendis salvestab iga loendi sõlm sõlme sisu ja viite või kursori loendi järgmisele sõlmele. See ei salvesta ühtegi viidet ega osutit eelmisele sõlmele.
- Kahekordse lingiga loendid: Kahekordse lingiga loendid on lingitud loendite eriliik, kus andmeelementide kaudu saab liikuda mõlemas suunas. See on võimalik tänu sellele, et igas sõlmes on kaks linki, üks, mis seob järgmise sõlme, ja teine, mis ühendub eelmise sõlmega.
23) Selgitage Queue liidese pakutavaid meetodeid?
Java Queue liidese meetodid on järgmised:
Meetod | Kirjeldus |
boolean add (objekt) | Lisab määratud elemendi järjekorda. See on tõene, kui see õnnestub. |
tõeväärtusega pakkumine (objekt) | Seda meetodit kasutatakse elemendi lisamiseks järjekorda. |
Objekti eemaldamine () | See otsib ja eemaldab järjekorra pea. |
Objekti küsitlus () | (): See otsib ja eemaldab järjekorra pea või tagastab null juhul, kui see on tühi. |
Objekti küsitlus () | See otsib ja eemaldab järjekorra pea või tagastab null juhul, kui see on tühi. |
Objekti element () | Toob andmed järjekorrast, kuid ei eemalda nende pead. |
Objekti piilumine () | Toob andmed järjekorrast, kuid ei eemalda nende pead, või juhul, kui järjekord on järjekord on tühi, saab see null. |
24) Mainige Stack-klassi pakutavaid meetodeid
Stack-klassi pakutavad olulised meetodid on:
- push (): lükake üksus virna sisse.
- tühi (): Selle meetodi abil saab teada, kas virn on tühi või mitte.
- pop (): See Java kollektsiooni raamistiku meetod eemaldab objekti virnast.
- search (): see meetod otsib virnas olevaid üksusi.
- peek (): See Java-meetod vaatab korstnaobjekti seda eemaldamata.
25) Defineerige Java kogude raamistikus emptySet ()
Method emptySet (), mis tagastab tühja muutumatu komplekti alati, kui programmeerijad üritavad nullelemente eemaldada. TühiSet () tagastatav komplekt on jadatav. Selle meetodi süntaks on:
avalik staatiline lõplik
26) Tehke vahet kollektsioonil ja kogudel
Kogude ja kollektsioonide erinevus on järgmine:
Kogumine | Kogud |
Kogumik on liides. | Kogud on klass. |
See tähistab objektide rühma ühe üksusena. | See määratleb kogumisobjektide jaoks erinevad kasulikud meetodid. |
Kogumik on Java Collectioni raamistiku juurliides. | Kogud on üldine klass. |
Seda liidest kasutatakse kogumise andmestruktuuride tuletamiseks. | See klass sisaldab staatilisi meetodeid andmestruktuuriga manipuleerimiseks. |
27) Kas defineerida Java Collection raamistikus LinkedHashSet?
LinkedHashSet on klassi alamklass nimega HashSet ja rakendab määratud liidest. See on HashSeti hästi tellitud versioon, mis hoiab kõigi elementide osas topeltlingitud loendit.
28) Mis vahe on ebaõnnestumisel ja ebaõnnestumisel?
Ebaõnnestunud | Ebaõnnestunud |
See ei luba kollektsiooni kordamise ajal modifitseerida. | See võimaldab kollektsiooni modifitseerida iteratsiooni ajal. |
See võib visata ConcurrentModificationException | See ei saa erandeid teha. |
See kasutab elementide läbimiseks originaalkollektsiooni. | Elementide läbimiseks kasutab see kollektsiooni originaalkoopiat. |
Lisamälu pole vaja. | On vaja lisamälu. |
29) Loetlege kaardiliidese kogu vaated
Kaardiliidese kogu vaated on: 1) võtmekomplekti vaade, 2) väärtushulga vaade ja 3) sisestuskomplekti vaade.
30) Mis on Java kogumisraamistiku eelised?
Java kollektsiooni raamistiku eelised on järgmised:
- Java kogumisraamistik pakub ülitõhusaid ja tõhusaid andmestruktuure, mis suurendavad programmi täpsust ja kiirust.
- Java kollektsiooniraamistikuga välja töötatud programmi on lihtne hooldada.
- Arendaja võib segada klasse teiste tüüpidega, mille tulemusel suureneb koodi korduvkasutatavus.
- Java kollektsiooni raamistik võimaldab programmeerijatel muuta primitiivseid kollektsiooni tüüpe endale meelepäraseks.
31) Mis on hea viis Java objektide kogu sortimiseks?
Hea viis Java kollektsiooni objektide sorteerimiseks on Comparable ja Comparator liideste kasutamine. Arendaja saab kasutada kollektsioone.sort (), elemendid sorteeritakse võrreldavas () järjekorras mainimise alusel.
Kui arendaja kasutab kollektsioone, sort (Comparator), sorteerib see objektid sõltuvalt Comparatori liidese võrdlusest ().
32) Selgitage vektorit Java keeles
Vektor on sama mis massiiv. Sellel on komponente, millele pääseb juurde indeksi väärtuse abil. Vektorid võivad sisaldada pärandmeetodit, mis pole osa kogumise raamistikust.
33) Mis vahe on Setil ja Mapil?
Määra | Kaart |
Komplekt kuulub paketti-java.util. | Kaart kuulub paketti java.util. |
See võib laiendada kogumisliidest. | See ei laienda kogumisliidest. |
See ei võimalda duplikaatväärtusi. | See võimaldab dubleerida väärtusi. |
Komplekt võib sortida ainult ühte nullväärtust. | Kaardil saab sorteerida mitu nullväärtust. |
34) Määratlege sõnastiku klass
Klass Sõnaraamat on Java-klass, mis võimaldab salvestada võtmeväärtuste paare.
35) Määrake EnumSet
java.util.EnumSet on Määra rakendus, mida saab kasutada loenditüüpidega. Kõigi elementidega EnumSet peab tulema ühest otseselt või kaudselt määratletud loenditüübist. See pole sünkroonitud ja ka nullvõtmed pole lubatud. EnumSet pakub selliseid meetodeid nagu EnumSetof (E esiteks, E
… Puhata) ,plementOf (EnumSet s) ja copyOf (kollektsioon c).36) Mis on kaks viisi duplikaatide eemaldamiseks ArrayListist?
Kaks võimalust duplikaatide eemaldamiseks ArrayListist on:
- HashSet: Arendaja saab HashSeti abil eemaldada duplikaatelemendi ArrayListist. Puuduseks on see, et see ei saa sisestamise järjekorda säilitada.
- LinkedHashSet: Arendajad saavad ka sisestamise järjekorda säilitada, kasutades HashSeti asemel LinkedHashSeti.
37) Mis on IdentityHashMap?
IdentityHashMap on klass, mis rakendab Serializable, Clonable liidesed, Map ja laiendab AbstractMap klassi. See on mõeldud juhtumiks, kus on vaja võrdlus-võrdõiguslikkuse semantikat.
38) Mis on WeakHashMap?
WeakHashMap on Java Mapi rakendus. Seda kasutatakse nõrkade viidete salvestamiseks oma võtmetele. Selle kaardi abil sortimine võimaldab võtme-väärtuste paari koguda prügina. Selle võtmele pole viidatud väljaspool WeakHashMapi.
39) Milliseid meetodeid kasutades saab kogumisniidi ohutuks muuta?
Kogumisniidi ohutuks muutmise meetodid on järgmised:
- Collections.synchronizedList (nimekiri);
- Collections.synchronizedMap (kaart);
- Collections.synchronizedSet (komplekt);
40) Selgitage UnsupportedOperationException
UnsupportedOperationException on erand, mis visatakse meetoditele, mida tegelik kollektsiooni tüüp ei toeta.
Näiteks teeb arendaja kirjutuskaitstud loendi, kasutades meetodit "Collections.unmodifiableList (list)" ja helistades meetodit call (), add () või remove (). See peaks selgelt viskama UnsupportedOperationException.
41) Nimetage kogumiklassid, mis võimaldavad juhuslikel elementidel juurdepääsu selle elementidele
Kogumisklassid, mis võimaldavad juhusliku elemendi juurdepääsu selle elementidele, on: 1) ArrayList, 2) HashMap, 3) TreeMap ja 4) Hashtable.
42) Selgitage erinevust järjekorras ja Deque'is.
Järjekord | Deque |
Seda nimetatakse ühe otsaga järjekorraks | Seda nimetatakse kahe otsaga järjekorraks |
Järjekorras olevad elemendid lisatakse või eemaldatakse ühest otsast | Järjekorras olevad elemendid lisatakse mõlemast otsast, neid saab lisada ja mõlemast otsast eemaldada |
See on vähem mitmekülgne. | See on mitmekülgsem. |
43) Mainige rakendusliidest ja loendit Set
Klassi rakendamise loendi liides: 1) ArrayList, 2) Vector ja 3) LinkedList.
Klass Seti liidese rakendamine: 1) HashSet ja 2) TreeSet.
44) Selgitage Iteratori järgitavat kujundusmustrit
Iteraator järgib iteraatori kujundusmustri üksikasju. See annab arendajale võimaluse navigeerida objektikogudes ühise liidese abil, teadmata selle rakendamist.
45) Mis on Queue liidese piilumine ()?
Peek () on järjekorra liidese meetod. See otsib kõik elemendid, kuid ei eemalda järjekorra pead. Kui järjekord on tühi, tagastatakse see meetod null.
46) Mis on CopyOnWriteArrayList?
CopyOnWriteArrayList on ArrayListi variant, milles sellised toimingud nagu lisamine ja määramine rakendatakse massiivi koopia loomisega. See on niidile ohutu ja seepärast ei viska see ConcurrentModificationExceptionit. See ArrayLists lubab kõiki elemente, sealhulgas null.
47) Tehke vahet ArrayListi ja LinkedListi vahel
ArrayListi ja LinkedListi vahe on järgmine:
ArrayList | LinkedList |
See kasutab dünaamilist massiivi. | See kasutab topeltlingitud loendit. |
ArrayList ei ole manipuleerimiseks eelistatav. | Linkimisel on eelistatav manipuleerimine. |
ArrayList pakub juhuslikku juurdepääsu. | LinkedList ei võimalda 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älu. |
48) Selgitage iteraatori liidese meetodeid
Iteraatori liidese meetodid on:
Meetod | Kirjeldus |
avalik tõeväärtus hasNext () | See naaseb tõeks, kui iteraatoril on elemente; muidu tagastab vale. |
järgmine objekt järgmine () | See meetod tagastab elemendi ja viib kursori järgmisele väärtusele. |
avalik tühine eemalda () | Selle Java-meetodiga saab eemaldada viimased iteraatori tagastatud elemendid. Avalikku void remove () kasutatakse vähem. |
49) Millised on HashSeti klassi meetodid?
HashSeti klassi meetodid on:
Meetodid | Kirjeldus |
loogiline lisamine (objekt o) | See meetod lisab sellele komplektile mainimiselemendi, kui seda veel pole. |
tõeväärtus sisaldab (Object o): | See tagastab tõene, kui komplekt sisaldab määratud elementi. |
tühine selge (): | See meetod eemaldab määratud elemendid. |
boolean isTühi (): | See tagastab juhul tõene, komplektil pole elemente. |
tõeväärtuse eemaldamine (objekt o): | See eemaldab määratud elemendi komplektist. |
objektikloon (): | See meetod tagastab eksemplari HashSeti eksemplari: elemente endid ei kloonita. |
iteraator iteraator () | See tagastab selle komplekti elementide iteraatori. |
int suurus (): | See tagastab komplektis saadaolevate elementide arvu. |
50) Millised on Java TreeSeti klassi meetodid?
Java TreeSeti klassi meetodid on:
Meetodid | Kirjeldused |
boolean addAll (kogu c) | Lisage sellesse komplekti kõik määratud kollektsiooni elemendid. |
tõeväärtus sisaldab (Object o) | Tagastab tõene, kui komplekt sisaldab mainimise elementi. |
boolean isTühi () | See Java-meetod tagastab tõene, kui see komplekt ei sisalda elemente. |
tõeväärtuse eemaldamine (objekt o) | Eemaldage määratud element komplektist. |
void add (objekt o) | See lisab komplektile määratud elemendi. |
tühine selge () | See Java-meetod eemaldab komplektist kõik elemendid. |
51) Selgitage lingitud HashSeti
Klass Java LinkedHashSet on liidese Set rakenduse Linked list ja Hash tabel. See sisaldab ainulaadseid elemente nagu HashSet. Javas olev linkitud HashSet pakub ka valikulisi komplektioperatsioone, mis suudavad säilitada sisestamise järjekorra.
52) Milliseid olulisi meetodeid lingitud loendis kasutatakse?
Lingitud loendis on kasutatud olulisi meetodeid:
Meetod | Kirjeldus |
loogiline lisamine (objekt o) | Seda kasutatakse määratud elemendi lisamiseks vektori lõppu. |
tõeväärtus sisaldab (Object o) | See on meetod, mis tagastab tõene, kui see loend sisaldab määratud elementi. |
void add (int indeks, objekti element) | Lisab elemendi vektorisse määratud elemendi juurde. |
void addFirst (objekt o) | Seda kasutatakse antud elemendi lisamiseks alguses. |
void addLast (objekt o) | Seda kasutatakse antud elemendi lõppu lisamiseks. |
Keskmise suurus () | Seda meetodit saab kasutada loendi elementide koguarvu tagastamiseks. |
tõeväärtuse eemaldamine (objekt o) | Sellega saab loetletud elementide esmakordse esinemise eemaldada. |
int indexOf (objekti element) | See Java-meetod tagastab loendi mainimiselemendi esmakordse indeksi ehk -1. |
int lastIndexOf (objekti element) | See on Java-meetod, mis tagastab loendi määratud elemendi viimase esinemisega indeksi või -1. |
53) Loetle erinevad komplektidena saadaval olevad klassid
Komplektides on saadaval erinevad klassid: HashSet, TreeSetand ja LinkedHashSet.
54) Loetlege Java Queue liideses saadaolevad meetodid
- boolean add (objekt)
- tõeväärtusega pakkumine (objekt)
- objekti eemaldamine ()
- objekti küsitlus ()
- objekti element ()
- objekti piilumine ()
55) Tehke vahet loendis ja komplektis.
Nimekiri | Määra |
Tellitud elementide kogu | Tellimata elementide kogu |
Säilitab sisestamise järjekorra | Ei säilita sisestamise järjekorda |
Korduvad väärtused on lubatud | Korduvad väärtused pole lubatud |
Salvestada saab suvalise arvu nullväärtusi | Salvestada saab ainult ühe nullväärtuse |
ListIteratorit saab kasutada loendi liikumiseks mis tahes suunas | ListIteratorit ei saa kasutada komplekti läbimiseks |
Sisaldab pärandklassi, mida nimetatakse vektoriks | Ei sisalda ühtegi pärandklassi |
56) Selgitage iga tsükli kohta näitega
For-Every Loop on veel üks silmusevorm, mida kasutatakse massiivi läbimiseks. See vähendab koodi märkimisväärselt ja silmus pole indeksit või pigem loendurit.
Näide iga silmuse kohta:
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) Selgitage teemantoperaatorit
Teemantoperaator võimaldab kompilaatoril koguda üldklassi tüübiargumente. Java SE-s saab arendaja asendada parameetriga konstruktori tühjade parameetrite komplektidega (<>), mida nimetatakse teemantoperaatoriks.
58) Selgitage juhusliku juurdepääsu liidest
RandomAccess'i liidest kasutavad loendi rakendused, et näidata, et need toetavad kiiresti.
59) Nimetage kogumiklassid, mis rakendavad juhusliku juurdepääsu liidest
Java.util paketil on klassid, mis võimaldavad juhusliku juurdepääsu liidest rakendada: CopyOnWriteArrayList, Stack, ArrayList ja Vector.
60) Kuidas liituda mitme ArrayListiga?
See loend pakub Java-s addall () meetodit mitme ArrayList.
Vaatleme näiteks kahte loendit: 1) areaList ja 2) secondAreaList. Arendaja saab nendega liituda, kasutades addall (), näiteks:
areaList.addAll (secondAreaList);
61) Selgitage deque Interface'i
Java.util.Deque on Java, liides, mis laiendab Queue liidest. See toetab elementide sisestamist ja kustutamist mõlemas otsas. Seda järjekorda nimetatakse ka kahe otsaga järjekorraks.
62) Selgitage Linkedhashmapi
LinkedHashMap on Mapi liidese rakendamine. See võib laiendada ka klassi HashMap. Seetõttu võimaldab LinkedHashMap nagu HashMap Java-arendajatel lubada ühe nullvõtme ja rohkem kui ühe nullväärtuse.
63) Selgitage meetodeid elementide eemaldamiseks ArrayListist
ArrayListist elementide eemaldamise meetodid on järgmised:
Meetod | Kirjeldus |
selge () | See meetod eemaldab ArrayListi elemendid. |
eemalda (int indeks) | See ArrayListi meetod võib elemendi teatud asukohast eemaldada. |
eemalda (objekt o) | See võib eemaldada mainimise elemendi esmakordse massiivi ArrayList. |
Eemalda kõik() | See võib eemaldada loendi elementidest, mis on konkreetses kollektsioonis. |
removeIf (Predikaat super E> filter) | See meetod eemaldab elemendid, mis vastavad predikaadi mainimisele. |
64) Selgitage kaarti. kirje kaardil
Map.entry on java.utili Java-liides. Sellel on kaardil pesastatud liides. Seda liidest peab kvalifitseerima klassi või liidese nimi, mille liige ta on. Seetõttu on see kvalifitseeritud kaardiks. Sisenemine. See tähistab võtme- ja väärtuspaari, mis võib moodustada kaardi elemendi.
See meetod tagastab kogu vaate. Näiteks võtke cityMap kaardina. Arendaja saab kasutada kaarti SetSet (), et saada kaardivaate element, millel on element Map.Entry. Programmeerija saab kaardi võtme- ja väärtusepaaride saamiseks kasutada kaardi getKey () ja getValue ().
65) Millist meetodit kasutatakse massiivi järjestamiseks kasvavas järjekorras?
Java kollektsiooni raamistiku meetodit Collections.sort () kasutatakse massiivi järjestamiseks kasvavas järjekorras.
66) Kuidas mõõta ArrayListi toimivust?
ArrayListi toimivust saab mõõta järgmiselt:
- Elemendi lisamine: Arendaja saab ArrayListi lõppu lisada elemendi add (E e) meetodi abil. See on O (1). Halvima stsenaariumi korral võib see minna O (n) -ni. See võib juhtuda, kui arendaja lisab rohkem elemente kui massiivi maht.
- Elemendi toomine : - Arendajal on juurdepääs massiivi indeksile, kasutades get (int indeksit). Sellisel juhul saab jõudlust mõõta, kasutades ArrayList get () on O (1).
- Elemendi eemaldamine: juhul, kui arendajad eemaldavad elemendi eemaldamise (int indeksi) abil, saab ArrayListi jõudlust arvutada, kasutades mainitud eemaldamise (int indeksi) toimingut O (n - indeks) meetodil.
67) Selgitage LinkedList klassi
Java klass LinkedList rakendab Deque ja List topeltlingitud loendi abil. Topeltlingitud loendis on privaatklassi sõlm, mis annab selle struktuuri. Sellel on ka üksuse muutuja väärtuse hoidmiseks ja viide klassile Node. Seda saab kasutada järgmise ja eelmise sõlme ühendamiseks.
68) Tooge näide Hashmapist
Hashmapi näide on:
import java.util.HashMap;import java.util.Map;public class Sample_TestMaps{public static void main(String[] args){MapobjMap = 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) Kuidas kaarti korrata?
Arendaja ei saa kaarti otseselt korrata, kuid sellel liidesel on kaks meetodit, mis annavad kaardi vaate komplekti. Need meetodid on järgmised:
- Set
> entrySet (): See on meetod, mis tagastab komplekti, kus kirjed on kaardil mainitud. Need kirjed on tavaliselt vastuväidetes, mille tüüp on Map. Sisenemine. - Set
keySet (): see Java-meetod tagastab komplekti, millel on kaardiklahv .
70) Selgitage Treemapi Java-keeles
TreeMap on klass, mis rakendab Mapi liidest LinkedHashMap ja HashMap. Samuti saab see rakendada liidest NavigableMap ja laiendada klassi AbstractMap.
71) Mis vahe on Hashmapil ja Hashtableil?
Hashmap | Hashtable |
See pole sünkroonitud. | See on sünkroniseeritud. |
HashMap lubab ühe võtme nullväärtusena. | HashTable ei luba nullväärtusi. |
Iteraatorit kasutatakse HashMapi läbimiseks. | HashTable-i tabeli läbimiseks kasutatakse kas itteraatorit või loendajat. |
Seda saab kasutada nii HashTable'i kui ka HashMapi jaoks ja see on tõrkekindel. | 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 Java-s HashSeti sisemist tööd
Java HashSet kasutab elementide salvestamiseks sisemiselt HashMapi. Samuti saab salvestada kordumatuid väärtusi ilma korduvate väärtusteta.
Java-s võib HashSeti arendajal olla meetod add (E e), mis võtab parameetrina lisamiseks ainult elemendi. See ei aktsepteeri võtme- ja väärtuspaari.
73) Selgitage näite abil Big-O tähist
Big-O tähistus kujutab algoritmi toimimist ArrayListi elementide arvuna. Arendaja saab kollektsiooni rakenduse valimiseks kasutada märget Big-O. See põhineb jõudlusel, ajal ja mälul.
Näiteks ArrayList get (indeks i) on meetod konstantse ajaga toimingu sooritamiseks. See ei sõltu loendis saadaolevate elementide koguarvust. Seetõttu on esitus Big-O tähistuses O (1).
74) Selgitage Java Collection Framework'i parimaid tavasid
Parimad tavad Java Collection Frameworkis on:
- Õige kollektsiooni tüübi valimine sõltub vajadusest.
- Vältige kogumisklassides salvestatavate elementide koguarvu hindamist, tehes uuesti või muutes suurust.
- Kirjutage Java-programm liideste mõistes. See aitab arendajal tulevikus rakendust vaevata muuta.
- Arendaja saab tüübikinnituse tagamiseks kasutada Generics-i.
- Kasutage Java arenduskomplekti antud muutumatuid klasse. Vältige kohandatud klasside võrdsete () ja hashCode () juurutamist.
- Programmeerija peaks kasutama kogu Klassi utiliiti algoritmide jaoks või kirjutuskaitstud, sünkroonitud või tühjade kogude saamiseks. See suurendab koodi korduvkasutatavust madala hooldatavusega.
75) Selgitage Java-tüüpi erinevaid järjekordi
Javas on kolme tüüpi järjekordi:
- Prioriteetne järjekord: see on eritüübi järjekord, kus elemendid on sorteeritud vastavalt nende loomulikule järjestusele või kohandatud võrdlusele.
- Ringjärjekord: see on järjekorra tüüp, kus kasutajate toiminguid tehakse FIFO meetodil. Ringjoone tegemiseks on viimane element ühendatud esimese positsiooniga.
- Kahe otsaga järjekord: Kahe otsaga järjekord on abstraktne andmetüüp, mis üldistab järjekorra. Selle järjekorra elemente saab lisada või eemaldada peast või sabast.
76) Mis vahe on virna ja järjekorra vahel?
Virn | Järjekord |
Virna tööpõhimõte on LIFO. | Töötav järjekord on FIFO. |
Ühte otsa kasutatakse elementide sisestamise või kustutamise jaoks. | Ühte otsa kasutatakse sisestamise teostamiseks ja teist otsa elementide kustutamiseks. |
See kasutab ühte osutit. | See kasutab lihtsas järjekorras kahte näpunäidet. |
Sellel pole mingit varianti. | Sellel on selliseid variante nagu prioriteedijärjekord, ümmargune järjekord, topelt lõppenud järjekord. |
Seda on lihtne kasutada. | Seda pole lihtne kasutada. |
77) Mis vahe on massiivil ja korstnal?
Massiivi ja virna vahe on:
Massiiv | Virn |
See on kogum elemente, mis on identifitseeritud indeksiga. | See on kogumisoperatsioon, mis toimib push and pop -operatsioonidena. |
Sellel on sama tüüpi andmetüübid. | Sellel on erinevad andmetüüpide elemendid. |
Elemente saab massiivi eemaldada või lisada massiivile, kasutades juhusliku juurdepääsu operatsiooni. | Elemente saab eemaldada või korstnasse lisada, kasutades LIFO-toimingut. |
78) Määrake iteraator ()
Iterator () on liides, mis pakub meetodeid kogu itereerimiseks. Iterator võib asuda Javas loendamise kohale. See võimaldab helistajal kogust elemente eemaldada. See meetod pakub üldist läbipääsuviisi, kasutades kollektsiooni elemente ja rakendades iteraatori kujundusmustrit.
79) Millised on erinevad viisid loendi kordamiseks?
Java kollektsiooni raamistiku programmeerija saab loendist üle korrata kahel viisil: 1) kasutada iteraatorit ja 2) kasutada seda iga tsükli jaoks.
80) Mis on virna eelised?
Virna eelised on:
- See aitab teil andmeid hallata meetodis Last In First Out (LIFO), mis pole lingitud loendi ja massiivi korral võimalik.
- Funktsiooni kutsumisel salvestatakse kohalikud muutujad virnas ja see tagastamisel hävitatakse automaatselt.
- Virna kasutatakse siis, kui muutujat ei kasutata väljaspool seda funktsiooni.
- See võimaldab teil kontrollida, kuidas mälu jaotatakse ja jaotatakse.
- Stack puhastab objekti automaatselt.
- Pole kergesti rikutud
- Muutujate suurust ei saa muuta.