Tässä ovat Java-kokoelmien haastattelukysymykset tuoreemmille ja kokeneemmille ehdokkaille unelmiesi saamiseksi.
1) Mikä on Java-kehys?
Kehys on suosittu ja valmiin arkkitehtuurin, joka sisältää joukon luokkia ja rajapintoja.
2) Mikä on Java-kokoelmakehys?
Collection Framework on luokkien ja rajapintojen ryhmittely, jota käytetään objektien tallentamiseen ja hallintaan. Se tarjoaa erilaisia luokkia, kuten Vector, ArrayList, HashSet, Stack jne. Java Collection -kehystä voidaan käyttää myös käyttöliittymiin, kuten jonoon, sarjaan, luetteloon jne.
3) Selitä kokoelmaluokka
java.util.Collections on luokka, joka koostuu staattisista menetelmistä, jotka toimivat kokoelmissa. Se sisältää polymorfisia algoritmeja toimimaan kokoelmissa, "kääreissä". Tämä luokka sisältää menetelmiä algoritmeille, kuten binäärilajittelu, haku, sekoitus jne.
4) Mikä on hashCode ()?
HashCode () on menetelmä, joka palauttaa kokonaislukun hash-koodin.
5) Erota ArrayList ja Vector Java-kokoelmakehyksessä.
ArrayList | Vektori |
ArrayList-tiedostoa ei voi synkronoida. | Vektori voidaan synkronoida. |
Se ei ole perintö. | Se on perintö luokka. |
Se voi kasvattaa kokoa 50% taulukon koosta. | Se voi lisätä kokoa kaksinkertaistamalla taulukon koon. |
ArrayList ei ole langankestävä. | Vektori on langankestävä. |
6) Mikä on ArrayList Java-ohjelmassa?
ArrayList on tietorakenne, jota voidaan venyttää uusien elementtien sijoittamiseksi itseensä ja kutistua takaisin pienempään kokoon, kun elementit poistetaan. Se on erittäin tärkeä tietorakenne, joka on hyödyllinen elementtien dynaamisen käyttäytymisen käsittelyssä.
7) Erota Iterator ja ListIterator
Iteratorin ja ListIteratorin ero on:
Iteraattori | ListIterator |
Iteraattori voi kulkea matriisielementit eteenpäin. | ListIterator voi liikuttaa matriisielementtejä sekä taaksepäin että eteenpäin. |
Sitä voidaan käyttää jonossa, luettelossa ja sarjassa. | Sitä voidaan käyttää luettelossa. |
Se voi suorittaa vain poistotoimenpiteen. | Se voi lisätä, poistaa ja asettaa toimintoja, kun se kulkee kokoelmassa. |
8) Mikä on ero iteraattorin ja luettelon välillä?
Ero iteraattorin ja luettelon välillä
Iteraattori | Luettelointi |
Iteraattori pystyy kulkemaan sekä perinnöt että perimättömät elementit. | Listaus voi kulkea vain vanhojen elementtien läpi. |
Iteraattori on vikatila. | Listaus ei ole epäonnistunut nopeasti. |
Iteraattori on hyvin hidas verrattuna luetteloon. | Laskenta on nopeaa verrattuna Iteratoriin. |
Iterator voi suorittaa poistotoimenpiteen poikki kokoelmassa. | Luettelo voi suorittaa vain poikittaisoperaation kokoelmalle. |
9) Määritä BlockingQueue
BlockingQueue on Java-käyttöliittymä, joka voi pidentää jonoa. Se tarjoaa samanaikaisuuden erilaisissa jonotoiminnoissa, kuten haku, lisäys, poisto jne.
Jono odottaa tyhjentymistä elementtien noutamisen yhteydessä. BlockingQueue ei saa sisältää tyhjiä elementtejä. Tämän jonon toteutus on langattomaa.
BlockingQueuen syntaksi on:
public interface BlockingQueueextends Queue
10) Selitä ohita yhtäsuuri () -menetelmä
Equals-menetelmää käytetään kahden objektin samankaltaisuuden tarkistamiseen. Jos ohjelmoija haluaa tarkistaa objektin ominaisuuden perusteella, se on ohitettava.
11) Mikä on ero vertailukelpoisen ja vertailijan välillä?
Ero vertailukelpoisen ja vertailijan välillä on:
Vertailukelpoinen | Vertailija |
Comparable tarjoaa CompareTo () -menetelmän elementtien lajittelemiseksi Java-tilassa. | Comparator tarjoaa vertailumenetelmän Java-elementtien lajittelemiseksi. |
Vertailukelpoinen käyttöliittymä on java.lang-paketissa. | Vertailurajapinta on Java-tilassa. util-paketti. |
Lajittelulogiikan on oltava samassa luokassa, jonka objektin aiot lajitella. | Lajittelulogiikan tulisi olla erillisessä luokassa, jotta voidaan kirjoittaa erilaista lajittelua objektien eri ominaisuuksien perusteella. |
Luokan, jonka objektit haluat lajitella, on toteutettava vastaava käyttöliittymä. | Luokan, jonka objektit haluat lajitella, ei tarvitse toteuttaa vertailurajapintaa. |
Se tarjoaa yhden lajittelusekvenssin. | Se tarjoaa useita lajittelusekvenssejä. |
Tämä menetelmä voi lajitella tiedot luonnollisen lajittelujärjestyksen mukaan. | Tämä menetelmä lajittelee tiedot mukautetun lajittelujärjestyksen mukaan. |
Se vaikuttaa alkuperäiseen luokkaan. eli varsinaista luokkaa muutetaan. | Se ei vaikuta alkuperäiseen luokkaan, eli varsinaista luokkaa ei muuteta. |
Toteutetaan usein API : ssa Kalenteri, Wrapper-luokat, Päivämäärä ja String. | Se toteutetaan kolmansien osapuolten luokkien esiintymien lajittelemiseksi. |
Kaikki kääre-luokat ja String-luokka toteuttavat vastaavan käyttöliittymän. | Ainoat toteutetut Comparator-luokat ovat Collator ja RuleBasedColator. |
12) Selitä yhtälö () esimerkillä
Equals () tarkistaa, onko numeroobjekti yhtä suuri kuin objekti, joka välitetään argumenttina vai ei.
Equals () -menetelmän syntaksi on:
public boolean equals(Object o)
Tämä menetelmä ottaa kaksi parametria: 1) minkä tahansa objektin, 2) palautusarvon. Se palauttaa arvon true, jos välitetty argumentti ei ole nolla ja se on saman tyyppinen objekti, jolla on sama numeerinen arvo.
Esimerkki:
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) Luettele geneerisen keruun edut
Geneerisen kokoelman käytön edut ovat:
- Jos ohjelmoijat käyttävät yleistä luokkaa, he eivät vaadi kirjoitusvirheitä.
- Se on tyyppiturvallinen ja se voidaan tarkistaa laatimishetkellä.
- Se tarjoaa koodin vakauden havaitsemalla virheen kokoamishetkellä.
14) Selitä menetelmä, jolla ArrayList muunnetaan Arrayiksi ja Array ArrayListiksi
Ohjelmoijat voivat muuntaa Array ArrayListiksi käyttämällä Arrays-luokan asList () -menetelmää. Se on staattinen Arrays-luokan menetelmä, joka hyväksyy List-objektin. AsList () -menetelmän syntaksi on:
Arrays.asList(item)
Java-ohjelmoijat voivat muuntaa ArrayList-luettelo-objektiksi syntaksin avulla:
List_object.toArray(new String[List_object.size()])
15) Anna esimerkki ArrayLististä
Esimerkki käänteisestä ArrayLististä 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) Anna esimerkki taulukon lajittelusta nousevassa järjestyksessä
Esimerkki taulukon järjestämisestä laskevassa järjestyksessä on:
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) Selitä Java-kokoelmakehyksen perusrajapinnat
Java-kokoelmakehys on kokoelmahierarkian juuri. Se edustaa ryhmää esineitä elementteinä. Java-ohjelmointikieli ei tarjoa tällaisen käyttöliittymän suoraa toteutusta.
- Sarja: Sarja on kokoelma, jossa ei ole päällekkäisiä elementtejä. Se käyttää hashtablea elementtien tallentamiseen.
- Lista: Lista on järjestetty kokoelma, joka voi sisältää päällekkäisiä elementtejä. Sen avulla kehittäjät voivat käyttää kaikkia elementtejä postilaatikosta. Luettelo on kuin matriisi, jolla on dynaaminen pituus.
- MAP: Se on objekti, joka kartoittaa avaimet arvoihin. Se ei voi sisältää päällekkäisiä avaimia. Jokainen avain voidaan yhdistää ainakin yhteen arvoon.
18) Mitkä ovat Java Hashmapin ominaisuudet?
Java Hashmapin ominaisuudet ovat:
- Arvot voidaan tallentaa karttaan muodostamalla avain-arvo-pari. Arvo voidaan noutaa avaimen avulla välittämällä se oikeaan menetelmään.
- Jos kartassa ei ole elementtiä, se heittää 'NoSuchElementException'.
- HashMap tallentaa vain objektiviitteet. Siksi on mahdotonta käyttää primitiivisiä tietotyyppejä, kuten double tai int. Käytä sen sijaan wrapper-luokkaa (kuten kokonaisluku tai kaksinkertainen).
19) Mikä on pino?
Pino on erityinen tietokoneen muistialue, joka tallentaa toiminnon luomia väliaikaisia muuttujia. Pinoa muuttujat ilmoitetaan, tallennetaan ja alustetaan ajon aikana.
20) Mikä linkitetty luettelo on?
Linkitetty luettelo on tietorakenne, johon voidaan tallentaa kokoelma kohteita. Toisin sanoen linkitettyjä luetteloita voidaan käyttää useiden samantyyppisten objektien tallentamiseen. Jokaista luettelon yksikköä tai elementtiä kutsutaan solmuksi. Linkitetyn luettelon solmulla on tiedot ja seuraavan solmun osoite. Se on kuin ketju. Linkitettyjä luetteloita käytetään kaavioiden ja puiden luomiseen.
21) Anna esimerkki ArrayLististä
ArrayList-esimerkki 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) Selitä Java: n tukema linkitetty luettelo
Java tukee kahta tyyppiä linkitettyjä luetteloita:
- Yhdistetty linkitetty luettelo: Yksin linkitetty luettelo on tietyntyyppinen tietorakenne. Yksin linkitetyssä luettelossa kukin luettelon solmu tallentaa solmun sisällön ja viitteen tai osoittimen luettelon seuraavaan solmuun. Se ei tallenna viitteitä tai osoittimia edelliseen solmuun.
- Kaksinkertaisesti linkitetyt luettelot: Kaksinkertaisesti linkitetyt luettelot ovat erityistyyppisiä linkitettyjä luetteloita, joissa tietoelementtien läpi voidaan kulkea molempiin suuntiin. Tämä on mahdollista siten, että jokaisessa solmussa on kaksi linkkiä, toinen, joka linkittää seuraavaan solmuun, ja toinen, joka yhdistää edelliseen solmuun.
23) Selitä Queue-käyttöliittymän tarjoamat menetelmät?
Java Queue -rajapinnan menetelmät ovat:
Menetelmä | Kuvaus |
looginen lisäys (objekti) | Lisää määritetyn elementin jonoon. Se palaa totta, jos se onnistuu. |
looginen tarjous (objekti) | Tätä menetelmää käytetään lisäämään elementti jonoon. |
Objektin poisto () | Se hakee ja poistaa jonopään. |
Objektikysely () | (): Se hakee ja poistaa jonopään tai palauttaa tyhjän, jos se on tyhjä. |
Objektikysely () | Se hakee ja poistaa jonopään tai palauttaa tyhjän, jos se on tyhjä. |
Objektielementti () | Hakee tiedot jonosta, mutta ei poista niiden päätä. |
Kohteen kurkistus () | Hakee tiedot jonosta, mutta ei poista niiden päätä, tai jos jono on jono on tyhjä, se nollaa. |
24) Mainitse Stack-luokan tarjoamat menetelmät
Stack-luokan tärkeitä menetelmiä ovat:
- push (): Työnnä esine pinoon.
- tyhjä (): Tämä menetelmä havaitsee, onko pino tyhjä vai ei.
- pop (): Tämä Java-kokoelmakehysmenetelmä poistaa objektin pinosta.
- haku (): Tämä menetelmä etsii pinon kohteita.
- peek (): Tämä Java-menetelmä tarkastelee pinoobjektia poistamatta sitä.
25) Määritä emptySet () Java-kokoelmakehyksessä
Method emptySet (), joka palauttaa tyhjän muuttamattoman joukon aina, kun ohjelmoijat yrittävät poistaa tyhjiä elementtejä. TyhjäSet () -palautettu joukko on sarjoitettavissa. Tämän menetelmän syntaksi on:
julkinen staattinen lopullinen
26) Erota kokoelma ja kokoelmat
Kokoelman ja kokoelmien välinen ero on:
Kokoelma | Kokoelmat |
Kokoelma on käyttöliittymä. | Kokoelmat on luokka. |
Se edustaa objektiryhmää yhtenä kokonaisuutena. | Se määrittelee erilaisia hyödyllisyysmenetelmiä keräyskohteille. |
Kokoelma on Java Collection -kehyksen pääkäyttöliittymä. | Kokoelmat on yleinen hyödyllisyysluokka. |
Tätä käyttöliittymää käytetään keräämisen tietorakenteiden johtamiseen. | Tämä luokka sisältää staattisia menetelmiä tietorakenteen manipuloimiseksi. |
27) Määritetäänkö LinkedHashSet Java Collection -kehyksessä?
LinkedHashSet on luokan alaluokka nimeltä HashSet ja toteuttaa asetetun käyttöliittymän. Se on HashSetin hyvin järjestetty versio, joka ylläpitää kaksinkertaisesti linkitettyä luetteloa kaikissa sen elementeissä.
28) Mitä eroa on vikatilanteessa ja vikaturvallisuudessa?
Epäonnistunut | Idioottivarma |
Se ei salli kokoelman muokkaamista iteroinnin aikana. | Se sallii kokoelman muokkaamisen iteroinnin aikana. |
Se voi heittää ConcurrentModificationExceptionin | Se ei voi antaa mitään poikkeusta. |
Se käyttää alkuperäistä kokoelmaa elementtien kulkemiseen. | Se käyttää alkuperäistä kokoelmakopiota elementtien kulkemiseen. |
Lisämuistia ei tarvita. | Lisämuistia tarvitaan. |
29) Luettele karttanäkymän kokoelmanäkymät
Karttaliittymän kokoelmanäkymät ovat: 1) avainjoukonäkymä, 2) arvojoukkonäkymä ja 3) syötesarjanäkymä.
30) Mitkä ovat Java-kokoelmakehyksen edut?
Java Frameworkin edut ovat:
- Java-kokoelmakehys tarjoaa erittäin tehokkaat ja vaikuttavat tietorakenteet, jotka parantavat ohjelman tarkkuutta ja nopeutta.
- Java-kokoelmakehyksellä kehitettyä ohjelmaa on helppo ylläpitää.
- Kehittäjä voi sekoittaa luokkia muiden tyyppien kanssa, mikä lisää koodin uudelleenkäytettävyyttä.
- Java-kokoelmakehyksen avulla ohjelmoijat voivat muokata primitiivisiä kokoelmatyyppejä haluamallaan tavalla.
31) Mikä on hyvä tapa lajitella kokoelmaobjektit Java-ohjelmassa?
Hyvä tapa lajitella Java-kokoelmaobjekteja on käyttää Comparable- ja Comparator-rajapintoja. Kehittäjä voi käyttää Collections.sort () -elementtiä, elementit on lajiteltu niiden perusteella, jotka mainitaan vertailussa ().
Kun kehittäjä käyttää kokoelmia, lajittele (Comparator), se lajittelee objektit Comparator-käyttöliittymän vertailun () mukaan.
32) Selitä vektori Java-kielellä
Vektori on sama kuin taulukko. Siinä on komponentteja, joihin pääsee hakemiston avulla. Vektorit voivat sisältää vanhan menetelmän, joka ei ole osa kokoelmakehystä.
33) Mitä eroa on Setillä ja Mapilla?
Aseta | Kartta |
Sarja kuuluu pakettiin java.util. | Kartta kuuluu pakettiin java.util. |
Se voi laajentaa keräysrajapintaa. | Se ei laajenna keräysrajapintaa. |
Se ei salli päällekkäisiä arvoja. | Se sallii päällekkäiset arvot. |
Joukko voi lajitella vain yhden nolla-arvon. | Kartta voi lajitella useita nolla-arvoja. |
34) Määritä sanakirjaluokka
Sanakirja-luokka on Java-luokka, joka pystyy tallentamaan avainarvopareja.
35) Määritä EnumSet
java.util.EnumSet on Aseta toteutus, jota voidaan käyttää enum-tyyppien kanssa. EnumSetin, jolla on kaikki elementit, on oltava peräisin yhdestä nimenomaisesti tai epäsuorasti määritetystä enum-tyypistä. Sitä ei ole synkronoitu, eikä myöskään nollanäppäimiä sallita. EnumSet tarjoaa menetelmiä, kuten EnumSetof (E ensin, E
… Lepo) ,plementOf (EnumSet s) ja copyOf (kokoelma c).36) Mitkä ovat kaksi tapaa poistaa kaksoiskappaleet ArrayLististä?
Kaksi tapaa poistaa kaksoiskappaleet ArrayLististä ovat:
- HashSet: Kehittäjä voi poistaa HashSetin avulla päällekkäisen elementin ArrayLististä. Haittana on, että se ei voi säilyttää lisäysjärjestystä.
- LinkedHashSet: Kehittäjät voivat myös ylläpitää lisäysjärjestystä käyttämällä LinkedHashSet-asetusta HashSetin sijaan.
37) Mikä on IdentityHashMap?
IdentityHashMap on luokka, joka toteuttaa Serializable, Clonable -rajapinnat, Map-sovelluksen ja laajentaa AbstractMap-luokkaa. Se on suunniteltu tapaukselle, jossa tarvitaan referenssi-tasa-arvon semantiikkaa.
38) Mikä on WeakHashMap?
WeakHashMap on Java-kartan toteutus. Sitä käytetään tallentamaan heikkoja viitteitä avaimiin. Lajittelu tämän kartan avulla antaa avainarvoparin kerätä roskiksi. Sen avaimeen ei viitata WeakHashMapin ulkopuolella.
39) Mitkä ovat menetelmät, joilla keräyslanka on turvallinen?
Menetelmät keräyslangan tekemiseksi turvallisiksi ovat:
- Collections.synchronizedList (luettelo);
- Collections.synchronizedMap (kartta);
- Collections.synchronizedSet (sarja);
40) Selitä UnsupportedOperationException
UnsupportedOperationException on poikkeus, joka heitetään menetelmiin, joita todellinen kokoelmatyyppi ei tue.
Kehittäjä esimerkiksi tekee vain luku -luettelon käyttämällä "Collections.unmodifiableList (list)" -ohjelmaa ja kutsuen puhelu (), lisää () tai poista () -menetelmää. Sen pitäisi selvästi heittää UnsupportedOperationException.
41) Nimeä kokoelmaluokat, jotka antavat satunnaiselle elementille pääsyn sen elementteihin
Kokoelmaluokat, jotka antavat satunnaiselle elementille pääsyn sen elementteihin, ovat: 1) ArrayList, 2) HashMap, 3) TreeMap ja 4) Hashtable.
42) Selitä ero Jonon ja Dequen välillä.
Jonottaa | Deque |
Sitä kutsutaan yksipäiseksi jonoksi | Sitä kutsutaan kaksipäiseksi jonoksi |
Jonon elementit lisätään tai poistetaan toisesta päästä | Jonossa olevat elementit lisätään kummastakin päästä, voidaan lisätä ja poistaa molemmista päistä |
Se on vähemmän monipuolinen. | Se on monipuolisempi. |
43) Mainitse toteutusluettelo ja -sarjarajapinta
Luokan toteutusluettelorajapinta: 1) ArrayList, 2) Vector ja 3) LinkedList.
Luokan toteuttava Set-käyttöliittymä: 1) HashSet ja 2) TreeSet.
44) Selitä Iteratorin noudattama suunnittelumalli
Iteraattori seuraa iteraattorin suunnittelukuvion yksityiskohtia. Se tarjoaa kehittäjälle mahdollisuuden selata objektikokoelmia yhteisen käyttöliittymän avulla tietämättä sen toteutusta.
45) Mikä on jonon käyttöliittymän kurkistus ()?
Peek () on jonon käyttöliittymän menetelmä. Se hakee kaikki elementit, mutta ei poista jonopäätä. Jos jono on tyhjä, tämä menetelmä palauttaa nollan.
46) Mikä on CopyOnWriteArrayList?
CopyOnWriteArrayList on ArrayList-muunnos, jossa toiminnot, kuten lisäys ja asettaminen, toteutetaan luomalla kopio taulukosta. Se on langalle turvallinen, eikä se siten heitä ConcurrentModificationExceptionia. Tämä taulukko sallii kaikki elementit, mukaan lukien null.
47) Erota ArrayList ja LinkedList
ArrayListin ja LinkedListin välinen ero on:
ArrayList | LinkedList |
Se käyttää dynaamista taulukkoa. | Se käyttää kaksinkertaisesti linkitettyä luetteloa. |
ArrayList ei ole suositeltava manipuloinnille. | LinkedList on parempi käsittelyyn. |
ArrayList tarjoaa satunnaisen pääsyn. | LinkedList ei tarjoa satunnaista pääsyä. |
ArrayList tallentaa vain objektit, joten se vie vähemmän muistia | LinkedList tallentaa objektin sekä osoiteobjektin; näin ollen se vie enemmän muistia. |
48) Selitä iteraattoriliitännän menetelmät
Menetelmät iteraattoriliitännälle ovat:
Menetelmä | Kuvaus |
public boolean hasSeuraava () | Se palauttaa arvon tosi iteraattorissa on elementtejä; muuten se palauttaa epätosi. |
julkinen objekti seuraava () | Tämä menetelmä palauttaa elementin ja siirtää osoittimen seuraavaan arvoon. |
public void poista () | Tämä Java-menetelmä voi poistaa iteraattorin viimeisimmät palauttamat elementit. Julkista tyhjää poistoa () käytetään vähemmän. |
49) Mitkä ovat HashSet-luokan menetelmät?
HashSet-luokan menetelmät ovat:
Menetelmät | Kuvaus |
looginen lisäys (Object o) | Tämä menetelmä lisää mainintaelementin tähän sarjaan, jos sitä ei vielä ole. |
totuusarvo sisältää (Object o): | Se palauttaa arvon true, jos joukko sisältää määritetyn elementin. |
void clear (): | Tämä menetelmä poistaa asetetut elementit. |
totuusarvo onTyhjä (): | Se palauttaa arvon tosi, joukossa ei ole elementtejä. |
looginen poisto (Object o): | Se poistaa määritetyn elementin joukosta. |
objektiklooni (): | Tämä menetelmä palauttaa kopion HashSet-ilmentymästä: itse elementtejä ei ole kloonattu. |
iteraattori iteraattori () | Se palauttaa iteraattorin tämän sarjan elementtien yli. |
int-koko (): | Se palauttaa joukon käytettävissä olevien elementtien määrän. |
50) Mitkä ovat Java TreeSet -luokan menetelmät?
Java TreeSet -luokan menetelmät ovat:
Menetelmät | Kuvaukset |
looginen addAll (kokoelma c) | Lisää kaikki määritetyn kokoelman elementit tähän sarjaan. |
totuusarvo sisältää (Object o) | Palauttaa arvon true, jos joukko sisältää mainintaelementin. |
totuusarvo onTyhjä () | Tämä Java-menetelmä palauttaa arvon true, jos tämä joukko ei sisällä elementtejä. |
looginen poisto (Object o) | Poista määritetty elementti joukosta. |
void add (Object o) | Se lisää määritetyn elementin joukkoon. |
mitätön selvä () | Tämä Java-menetelmä poistaa kaikki elementit joukosta. |
51) Selitä linkitetty HashSet
Java LinkedHashSet-luokka on Set-käyttöliittymän linkitetty luettelo ja Hash-taulukko. Se sisältää ainutlaatuisia elementtejä, jotka ovat samat kuin HashSet. Linkitetty HashSet Java -ohjelmassa tarjoaa myös valinnaiset joukkooperaatiot, jotka ylläpitävät lisäysjärjestystä.
52) Mitkä ovat linkitetyn luettelon tärkeät menetelmät?
Linkitetyssä luettelossa käytetyt tärkeät menetelmät ovat:
Menetelmä | Kuvaus |
looginen lisäys (Object o) | Sitä käytetään lisäämään määritetty elementti vektorin loppuun. |
totuusarvo sisältää (Object o) | Se on menetelmä, joka palauttaa arvon tosi, jos tämä luettelo sisältää määritetyn elementin. |
void add (int-indeksi, Object-elementti) | Lisää elementin vektoriin määritetyn elementin kohdalle. |
void addFirst (objekti o) | Sitä käytetään lisäämään annettu elementti alkuun. |
void addLast (objekti o) | Sitä käytetään lisäämään annettu elementti loppuun. |
Int-koko () | Tätä menetelmää voidaan käyttää palauttamaan luettelon elementtien kokonaismäärä. |
looginen poisto (Object o) | Se voi poistaa määritetyn elementin ensimmäisen esiintymisen tästä luettelosta. |
int indexOf (Object-elementti) | Tämä Java-menetelmä palauttaa indeksin, jossa mainintaelementti esiintyy ensimmäisen kerran tässä luettelossa, tai -1. |
int lastIndexOf (Object-elementti) | Se on Java-menetelmä, joka palauttaa indeksin, jossa on luettelossa määritetyn elementin viimeinen esiintymä, tai -1. |
53) Luettelo erilaisista sarjoista
Eri sarjoina saatavia luokkia ovat: HashSet, TreeSetand ja LinkedHashSet.
54) Luettele Java Queue -rajapinnassa käytettävissä olevat menetelmät
- looginen lisäys (objekti)
- looginen tarjous (objekti)
- objektin poisto ()
- objektikysely ()
- objektielementti ()
- objektin kurkistus ()
55) Tee ero luettelon ja joukon välillä.
Lista | Aseta |
Tilattu kokoelma elementtejä | Järjestämätön kokoelma elementtejä |
Säilyttää lisäysjärjestyksen | Ei säilytä lisäysjärjestystä |
Päällekkäiset arvot ovat sallittuja | Päällekkäisiä arvoja ei sallita |
Mikä tahansa määrä nolla-arvoja voidaan tallentaa | Vain yksi nolla-arvo voidaan tallentaa |
ListIteratorilla voidaan liikkua luettelossa mihin tahansa suuntaan | ListIteratoria ei voi käyttää joukon kulkemiseen |
Sisältää vanhan luokan, jota kutsutaan vektoriksi | Ei sisällä vanhoja luokkia |
56) Selitä jokaiselle silmukalle esimerkillä
For-Each Loop on toinen muoto silmukasta, jota käytetään matriisin kulkemiseen. Se vähentää koodia merkittävästi, eikä silmukassa ole indeksin tai pikemminkin laskurin käyttöä.
Esimerkki jokaisesta silmukasta:
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) Selitä timanttioperaattori
Timanttioperaattori antaa kääntäjän kerätä yleisluokan tyyppiargumentteja. Java SE: ssä kehittäjä voi korvata parametrisoidun konstruktorin tyhjillä parametrijoukoilla (<>), jotka tunnetaan nimellä timanttioperaattori.
58) Selitä satunnaiskäyttöliittymä
Luettelototeutukset käyttävät RandomAccess-liitäntää osoittamaan, että ne tukevat nopeasti.
59) Nimeä kokoelmaluokat, jotka toteuttavat hajasaantiliittymän
Java.util-paketissa on luokat, jotka voivat toteuttaa satunnaiskäyttöliittymän: CopyOnWriteArrayList, Stack, ArrayList ja Vector.
60) Kuinka liittyä useisiin ArrayLists-luetteloihin?
Luettelossa on addall () -menetelmä, useita ArrayList-Java-tiedostoja.
Harkitse esimerkiksi kahta luetteloa: 1) areaList ja 2) secondAreaList. Kehittäjä voi liittyä heihin käyttämällä addallia (), kuten:
areaList.addAll (secondAreaList);
61) Selitä deque Interface
Java.util.Deque on Java, käyttöliittymä, joka laajentaa jonon käyttöliittymää. Se tukee elementtien lisäämistä ja poistamista molemmista päistä. Tätä jonoa kutsutaan myös kaksipäiseksi jonoksi.
62) Selitä Linkedhashmap
LinkedHashMap on Map-käyttöliittymän toteutus. Se voi myös laajentaa HashMap-luokkaa. Siksi, kuten HashMap, LinkedHashMap mahdollistaa Java-kehittäjien sallia yhden nolla-avaimen ja useamman kuin yhden nolla-arvon.
63) Selitä menetelmät elementtien poistamiseksi ArrayLististä
Menetelmät elementtien poistamiseksi ArrayLististä ovat:
Menetelmä | Kuvaus |
asia selvä() | Tämä menetelmä poistaa elementit ArrayLististä. |
poista (int-hakemisto) | Tämä ArrayList-menetelmä voi poistaa elementin tietystä sijainnista. |
poista (objekti o) | Se voi poistaa mainintaelementin ensimmäisen esiintymisen ArrayLististä. |
Poista kaikki() | Se voi poistaa luettelon elementeistä, jotka ovat tietyssä kokoelmassa. |
removeIf (Predikaatti super E> -suodatin) | Tämä menetelmä poistaa elementit, jotka täyttävät predikaatin maininnan. |
64) Selitä kartta. merkintä Map
Map.entry on java.utilin Java-käyttöliittymä. Sillä on sisäkkäinen käyttöliittymä Mapissa. Tämän käyttöliittymän on oltava luokituksen tai käyttöliittymän nimi, jonka jäsen se on. Siksi se on luokiteltu kartaksi. Entry. Se edustaa avain- ja arvoparia, joka voi muodostaa elementin kartasta.
Tämä menetelmä palauttaa näkymän kokoelmasta. Harkitse esimerkiksi cityMap-karttaa. Kehittäjä voi käyttää entrySet () -toimintoa saadakseen kartan asetetun näkymän, jossa on elementti Map.Entry. Ohjelmoija voi käyttää myös kartan getKey () ja getValue () merkintää saadakseen avaimen ja kartan arvon.
65) Mitä menetelmää käytetään taulukon lajittelussa nousevassa järjestyksessä?
Java-kokoelmakehysmenetelmää Collections.sort () käytetään taulukon lajittelussa nousevassa järjestyksessä.
66) Kuinka mitata ArrayListin suorituskykyä?
ArrayListin suorituskykyä voidaan mitata seuraavasti:
- Elementin lisääminen: Kehittäjä voi lisätä elementin ArrayListin loppuun käyttämällä add (E e) -menetelmää. Se on O (1). Pahimmassa skenaariossa se voi mennä kohtaan O (n). Näin voi käydä, jos kehittäjä lisää enemmän elementtejä kuin taulukon kapasiteetti.
- Elementin noutaminen : - Kehittäjä voi käyttää taulukkoindeksiä get (int-indeksi) -toiminnolla. Suorituskyky voidaan tässä tapauksessa mitata käyttämällä ArrayList get () on O (1).
- Elementin poistaminen: Jos kehittäjät poistavat elementin poistamalla (int-indeksi), ArrayListin suorituskyky voidaan laskea käyttämällä mainittua Remove (int-indeksi) -operaatiota on O (n-indeksi) -menetelmä.
67) Selitä LinkedList-luokka
LinkedList-luokka Java-ohjelmassa toteuttaa Deque- ja List-luettelot kaksoislinkitetyn luettelon avulla. Kaksinkertaisesti linkitetyssä luettelossa on yksityisen luokan solmu, joka antaa sen rakenteen. Siinä on myös nimimuuttuja arvon pitämiseksi ja viittaus solmuluokkaan. Tätä voidaan käyttää seuraavan ja edellisen solmun yhdistämiseen.
68) Anna esimerkki Hashmapista
Hashmap-esimerkki 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) Kuinka iteroida kartta?
Kehittäjä ei voi toistaa karttaa suoraan, mutta tällä käyttöliittymällä on kaksi tapaa antaa näkymäkartta. Nämä menetelmät ovat:
- Set
> entrySet (): Se on menetelmä, joka palauttaa joukon, jossa merkinnät mainitaan kartalla. Näitä merkintöjä vastaan yleensä vastustetaan, jolla on tyyppi Map. Entry. - Set
keySet (): Tämä Java-menetelmä palauttaa joukon, jolla on kartta-avain.
70) Selitä Treemap Java-selaimella
TreeMap on luokka, joka toteuttaa Map-käyttöliittymän LinkedHashMap ja HashMap. Se voi myös toteuttaa NavigableMap-käyttöliittymän ja laajentaa AbstractMap-luokkaa.
71) Mitä eroa on Hashmapilla ja Hashtableilla?
Hashmap | Hashtable |
Sitä ei ole synkronoitu. | Se on synkronoitu. |
HashMap sallii yhden avaimen nolla-arvon. | HashTable ei salli nolla-arvoja. |
Iteraattoria käytetään HashMapin kulkemiseen. | Joko Iteratoria tai Enumeratoria käytetään HashTable-taulukon kulkemiseen. |
Sitä voidaan käyttää sekä HashTable-, HashMap- että vikatilanteissa. | Sitä voidaan käyttää HashTable-sovelluksen kanssa ja se on vikaturvallinen. |
HashMap toimii nopeammin kuin HashTable. | Hashtable ei ole paljon nopeampi kuin HashMap. |
72) Selitä HashSetin Java-sisäinen toiminta
Java HashSet käyttää sisäisesti HashMapia elementtien tallentamiseen. Se voi myös tallentaa ainutlaatuisia arvoja ilman päällekkäisiä arvoja.
Javassa HashSet-kehittäjällä voi olla add (E e) -menetelmä, joka vaatii vain elementin, joka lisätään parametrina. Se ei hyväksy avain- ja arvoparia.
73) Selitä Big-O-merkinnät esimerkillä
Big-O-notaatio kuvaa algoritmin suorituskyvyn ArrayList-elementtien lukumääränä. Kehittäjä voi käyttää Big-O-merkintää valitessaan kokoelman toteutuksen. Se perustuu suorituskykyyn, aikaan ja muistiin.
Esimerkiksi ArrayList get (indeksi i) on menetelmä vakioaikaisen operaation suorittamiseksi. Se ei riipu luettelossa käytettävissä olevien elementtien kokonaismäärästä. Siksi suorituskyky Big-O-notaatiossa on O (1).
74) Selitä Java Collection Frameworkin parhaat käytännöt
Java Collection Frameworkin parhaat käytännöt ovat:
- Valitse oikea mallistotyyppi tarpeen mukaan.
- Vältä uudelleenkäsittelyä tai koon muuttamista arvioimalla kokoeluluokkiin tallennettavien elementtien kokonaismäärä.
- Kirjoita Java-ohjelma rajapintojen mukaan. Tämä auttaa kehittäjää muuttamaan toteutusta vaivattomasti tulevaisuudessa.
- Kehittäjä voi käyttää Generics-tyyppiturvallisuutta.
- Käytä Java Development Kitin muuttumattomia luokkia. Vältä equals (): n ja hashCode: n () toteuttamista mukautetuille luokille.
- Ohjelmoijan on käytettävä Collections-apuohjelmaluokkaa algoritmeihin tai vain luku-, synkronoitu- tai tyhjät kokoelmat. Tämä parantaa koodin uudelleenkäytettävyyttä alhaisella ylläpidettävyydellä.
75) Selitä Java-tyyppisiä jonoja
Javassa on kolmen tyyppisiä jonoja:
- Prioriteettijono: Se on erityinen jono, jossa elementit lajitellaan niiden luonnollisen järjestyksen tai mukautetun vertailijan mukaan.
- Pyöreä jono: Se on jonotyyppi, jossa käyttäjän toiminnot suoritetaan FIFO-menetelmän perusteella. Viimeinen elementti on kytketty ensimmäiseen sijaintiin ympyrän muodostamiseksi.
- Kaksipäinen jono: Kaksipäinen jono on abstrakti tietotyyppi, joka yleistää jonon. Tämän jonon elementit voidaan lisätä tai poistaa joko päästä tai hännästä.
76) Mitä eroa on pinolla ja jonolla?
Pino | Jonottaa |
Pinon toimintaperiaate on LIFO. | Jonon toimintaperiaate on FIFO. |
Toista päätä käytetään elementtien lisäämiseen tai poistamiseen. | Toista päätä käytetään lisäyksen suorittamiseen, ja toista päätä käytetään elementtien poistamiseen. |
Se käyttää yhtä osoitinta. | Se käyttää kahta osoitinta yksinkertaisessa jonossa. |
Sillä ei ole minkäänlaista muunnosta. | Siinä on muunnelmia, kuten prioriteettijono, pyöreä jono, kaksinkertaisesti päättynyt jono. |
Sitä on helppo käyttää. | Sitä ei ole helppo käyttää. |
77) Mikä on matriisin ja pinon ero?
Taulukon ja pinon välinen ero on:
Taulukko | Pino |
Se on kokoelma elementtejä, jotka hakemisto tunnistaa. | Se on keräysoperaatio, joka toimii push and pop -toimintona. |
Siinä on tietotyyppien elementit, jotka ovat samat. | Siinä on erilaisten tietotyyppien elementtejä. |
Elementit voidaan poistaa tai lisätä matriisiin satunnaiskäyttötoiminnolla. | Elementit voidaan poistaa tai lisätä pinoon LIFO-toiminnolla. |
78) Määritä iteraattori ()
Iterator () on käyttöliittymä, joka tarjoaa menetelmiä kokoelman toistamiseen. Iterator voi korvata Java-luettelon. Sen avulla soittaja voi poistaa elementtejä kokoelmasta. Menetelmä tarjoaa yleisen tavan kulkua käyttäen kokoelman elementtejä ja iteraattorisuunnittelumallin toteuttamista.
79) Mitkä ovat erilaisia tapoja toistaa luettelo?
Java collection Framework -ohjelmoija voi toistaa luettelon kahdella tavalla: 1) käyttää iteraattoria ja 2) käyttää sitä jokaiselle silmukalle.
80) Mitkä ovat pinon edut?
Pinon edut ovat:
- Se auttaa sinua hallitsemaan tietoja Last In First Out (LIFO) -menetelmällä, mikä ei ole mahdollista linkitetyn luettelon ja taulukon kanssa.
- Kun funktiota kutsutaan, paikalliset muuttujat tallennetaan pinoon ja se tuhoutuu automaattisesti palautuksen jälkeen.
- Pinoa käytetään, kun muuttujaa ei käytetä kyseisen toiminnon ulkopuolella.
- Sen avulla voit hallita muistin jakamista ja jakamista.
- Pino puhdistaa kohteen automaattisesti.
- Ei helposti vioittunut
- Muuttujien kokoa ei voi muuttaa.