80 Java Kokoelmien haastattelukysymykset ja vastaukset (2026)

Tรคssรค on Java Kokoelmien haastattelukysymyksiรค tuoreemmille ja kokeneille hakijoille unelmatyรถnsรค saamiseksi.

 

Java Kokoelmien haastattelukysymyksiรค ja vastauksia fuksilaisille

1) Mitรค kehys sisรคltรครค Java?

Kehys on suosittu ja valmis arkkitehtuuri, joka sisรคltรครค joukon luokkia ja rajapintoja.


2) Missรค kokoelmakehys on Java?

Kokoelmakehys on ryhmรคping luokkien ja rajapintojen joukko, jota kรคytetรครคn objektien tallentamiseen ja hallintaan. Se tarjoaa erilaisia โ€‹โ€‹luokkia, kuten Vector, ArrayList, HashSet, Stack jne. Java Kokoelmakehystรค voidaan kรคyttรครค myรถs kรคyttรถliittymiin, kuten jono, joukko, luettelo jne.

Java Kokoelmien haastattelukysymykset


3) Selitรค kokoelmaluokka

java.util.Collections on luokka, joka koostuu staattisista menetelmistรค, jotka toimivat kokoelmissa. Se sisรคltรครค polymorfisia algoritmeja, jotka toimivat kokoelmien, "kรครคreiden" kanssa. Tรคmรค luokka sisรคltรครค menetelmiรค algoritmeille, kuten binรครคrilajittelu, haku, sekoitus jne.


4) Mikรค on tiiviste?Code()?

HashCode() on metodi, joka palauttaa kokonaislukuisen tiivistekoodin.


5) Erota ArrayList ja Vector Java kerรคyskehys.

ArrayList vektori
ArrayList ei voida synkronoida. Vektori voidaan synkronoida.
Se ei ole perintรถluokka. Se on perintรถluokka.
Se voi kasvattaa kokoaan 50 % taulukon koosta. Se voi kasvattaa kokoaan kaksinkertaistamalla taulukon koon.
ArrayList ei ole sรคikeen varma. Vector on lankaturvallinen.

6) Missรค ArrayList on Java?

ArrayList on tietorakenne, jota voidaan venyttรครค sisรคltรคmรครคn lisรคelementtejรค ja kutistua takaisin pienemmรคksi, kun elementtejรค poistetaan. Se on erittรคin tรคrkeรค tietorakenne, joka on hyรถdyllinen elementtien dynaamisen kรคyttรคytymisen kรคsittelyssรค.


7) Tee ero Iteratorin ja ListIteratorin vรคlillรค

Ero Iteratorin ja ListIteratorin vรคlillรค on:

Iteraattori ListIterator
Iteraattori voi kulkea taulukon elementtien lรคpi eteenpรคin. ListIterator voi kulkea taulukon elementtien lรคpi sekรค taaksepรคin ettรค eteenpรคin.
Sitรค voidaan kรคyttรครค jonossa, luettelossa ja joukossa. Sitรค voidaan kรคyttรครค luettelossa.
Se voi suorittaa vain poistotoiminnon. Se voi suorittaa lisรคys-, poisto- ja asetustoimintoja kulkiessaan kokoelmaa.

8) Mitรค eroa on iteraattorilla ja luettelolla?

Ero Iteratorin ja Enumerationin vรคlillรค

Iteraattori luettelointi
Iteraattori voi kulkea sekรค vanhojen ettรค ei-vanhojen elementtien lรคpi. Luettelo voi kulkea vain vanhojen elementtien lรคpi.
Iteraattori on nopea. Luettelo ei ole nopeaa.
Iteraattori on erittรคin hidas verrattuna Enumerationiin. Luettelo on nopea verrattuna Iteratoriin.
Iteraattori voi suorittaa poistotoiminnon kulkiessaan kokoelmaa. Luettelo voi suorittaa vain poikittaistoiminnon kokoelmalle.

9) Mรครคritรค BlockingQueue

BlockingQueue on kรคyttรถliittymรค, jota kรคytetรครคn Java joka voi pidentรครค jonoa. Se tarjoaa samanaikaisuuden erilaisissa jonotoiminnoissa, kuten haussa, lisรครคmisessรค, poistamisessa jne.

Jono odottaa, ettei se ole tyhjรค, kun elementtejรค haetaan. BlockingQueue ei saa sisรคltรครค nollaelementtejรค. Tรคmรคn jonon toteutus on sรคikeen turvallista.

BlockingQueuen syntaksi on:

public interface BlockingQueue<E> extends Queue <E>

10) Selitรค ohitus equals() -metodi

Tasa-arvomenetelmรครค kรคytetรครคn kahden objektin samankaltaisuuden tarkistamiseen. Jos ohjelmoija haluaa tarkistaa kohteen ominaisuuden perusteella, se on ohitettava.


11) Mitรค eroa on Vertailevan ja Vertailun vรคlillรค?

Ero Vertailevan ja Vertailun vรคlillรค on:

vertailukelpoinen Vertailuryhmรคssรค
Comparable tarjoaa vertailuTo()-menetelmรคn elementtien lajitteluun Java. Comparator tarjoaa vertaa()-menetelmรคn elementtien lajitteluun Java.
Vertailukelpoinen kรคyttรถliittymรค on java.lang-paketissa. Javassa on vertailuliittymรค. hyรถdyllinen paketti.
Lajittelulogiikan on oltava samassa luokassa, jonka objektia aiot lajitella. Lajittelulogiikka tulisi olla erillisessรค luokassa, jotta voidaan kirjoittaa erilaisia โ€‹โ€‹lajitteluja objektien eri attribuuttien perusteella.
Luokan, jonka objektit haluat lajitella, on toteutettava vertailukelpoinen kรคyttรถliittymรค. Luokan, jonka objektit haluat lajitella, ei tarvitse toteuttaa vertailurajapintaa.
Se tarjoaa yksittรคisiรค lajittelusarjoja. Se tarjoaa useita lajittelusarjoja.
Tรคllรค menetelmรคllรค tiedot voidaan lajitella luonnollisen lajittelujรคrjestyksen mukaan. Tรคmรค menetelmรค lajittelee tiedot mukautetun lajittelujรคrjestyksen mukaan.
Se vaikuttaa alkuperรคiseen luokkaan. eli todellinen luokka muuttuu. Se ei vaikuta alkuperรคiseen luokkaan, eli varsinaista luokkaa ei muuteta.
Toteutettu usein API:ssa kalenterin, Wrapper-luokkien, pรคivรคmรครคrรคn ja merkkijonon avulla. Se on toteutettu lajittelemaan kolmannen osapuolen luokkien esiintymiรค.
Kaikki kรครคreluokat ja String-luokka toteuttavat vertailukelpoisen kรคyttรถliittymรคn. Ainoat toteutetut Comparator-luokat ovat Collator ja RuleBasedColator.

12) Selitรค equals() esimerkillรค

Equals() varmistaa, onko numeroobjekti yhtรค suuri kuin objekti, joka vรคlitetรครคn argumenttina vai ei.

Equals()-metodin syntaksi on:

public boolean equals(Object o)

Tรคmรค menetelmรค ottaa kaksi parametria: 1) mikรค tahansa objekti, 2) palauttaa arvon. Se palauttaa tosi, jos hyvรคksytty argumentti ei ole tyhjรค ja se on samantyyppinen objekti, jolla on sama numeerinen arvo.

Esimerkiksi:

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) Listaa yleisen kerรครคmisen edut

Yleisen kokoelman kรคytรถn edut ovat:

  • Jos ohjelmoijat kรคyttรคvรคt yleistรค luokkaa, he eivรคt vaadi tyyppilรคhetystรค.
  • Se on tyyppiturvallinen ja sen voi tarkistaa kokoamisen yhteydessรค.
  • Se tarjoaa koodin vakauden havaitsemalla vian kรครคnnรถshetkellรค.

14) Selitรค tapa muuntaa ArrayList Arrayksi ja Array ArrayListiksi

Ohjelmoijat voivat muuntaa taulukon ArrayListiksi kรคyttรคmรคllรค Arrays-luokan asList()-menetelmรครค. Se on Arrays-luokan staattinen menetelmรค, joka hyvรคksyy List-objektin. asList()-metodin syntaksi on:

Arrays.asList(item)

Java ohjelmoijat voivat muuntaa ArrayList List-objektiksi kรคyttรคmรคllรค syntaksia:

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 ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

16) Anna esimerkki taulukon lajittelusta laskevaan jรคrjestykseen

Esimerkki taulukon lajittelusta laskevaan jรคrjestykseen 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 sort  
 		System.out.println("-----After Sort-----");  
		printArray(myArray); 
	} 
		public static void selection(int[] array)
	{  
		for (int i = 0; i < array.length - 1; i++)  
		{  System.out.println("Sort Pass Number "+(i+1));
			int index = i;  
			for (int j = i + 1; j < array.length; j++)
			{   
			    System.out.println("Comparing "+ array[index]  + " and " + array[j]);  
				if (array[j] < array[index]){ 
				System.out.println(array[index]  + " is greater than " + array[j] );
					index = j;		
				}  
			}  
			int smallerNumber = array[index];   
			array[index] = array[i];  
			array[i] = smallerNumber;  
			System.out.println("Swapping Elements: New Array After Swap");
			printArray(array);
		}  
	}  
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();   
	}
}

17) Selitรค perusrajapinnat Java kokoelman puitteet

Java kokoelmakehys on kokoelmahierarkian juuri. Se edustaa ryhmรครค esineitรค sen elementteinรค. The Java ohjelmointikieli ei tarjoa suoraa toteutusta tรคllaiselle rajapinnalle.

  • Sarja: Joukko 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รค sen postilaatikosta. Lista on kuin taulukko, jolla on dynaaminen pituus.
  • KARTTA: Se on objekti, joka kartoittaa avaimet arvoihin. Se ei voi sisรคltรครค pรครคllekkรคisiรค avaimia. Jokainen avain voidaan yhdistรครค vรคhintรครคn yhteen arvoon.

18) Mitkรค ovat sen ominaisuudet Java Hashmappi?

Ominaisuudet Java Hashmap ovat:

  • Arvot voidaan tallentaa karttaan muodostamalla avain-arvo-pari. Arvo voidaan noutaa avaimella vรคlittรคmรคllรค se oikealle menetelmรคlle.
  • Jos kartassa ei ole elementtiรค, se antaa "NoSuchElementException"-ilmoituksen.
  • HashMap tallentaa vain objektiviittauksia. Tรคstรค syystรค on mahdotonta kรคyttรครค primitiivisiรค tietotyyppejรค, kuten double tai int. Kรคytรค kรครคreluokkaa (kuten Integer tai Double) sen sijaan.


19) Mikรค on pino?

Pino on tietokoneen muistin erityinen alue, joka tallentaa funktion luomia vรคliaikaisia โ€‹โ€‹muuttujia. Pinossa muuttujat ilmoitetaan, tallennetaan ja alustetaan ajon aikana.


20) Mikรค on linkitetty luettelo?

Linkitetty luettelo on tietorakenne, joka voi tallentaa kokoelman kohteita. Toisin sanoen linkitettyjรค listoja voidaan kรคyttรครค useiden samantyyppisten objektien tallentamiseen. Jokaista luettelon yksikkรถรค tai elementtiรค kutsutaan solmuksi. Linkitettyjen listan solmulla on tiedot ja seuraavan solmun osoite. Se on kuin ketju. Linkitettyjรค listoja kรคytetรครคn kaavioiden ja puiden luomiseen.


Java Kokoelmien haastattelukysymyksiรค ja vastauksia kokeneille

21) Anna esimerkki ArrayLististรค

Esimerkki ArrayLististรค on:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);
  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));
 }
}

22) Selitรค linkitetty luettelo, jota tukee Java

Tukee kahdenlaisia โ€‹โ€‹linkitettyjen luetteloita Java ovat:

  • Yksittรคin linkitetty lista: Yksittรคin linkitetty luettelo on erรครคnlainen tietorakenne. Yksittรคin linkitetyssรค luettelossa jokainen listan solmu tallentaa solmun sisรคllรถn ja viitteen tai osoittimen luettelon seuraavaan solmuun. Se ei tallenna viittausta tai osoitinta edelliseen solmuun.
  • Kaksoislinkitetyt listat: Kaksoislinkitetyt luettelot ovat linkitettyjen luetteloiden erityinen tyyppi, jossa tietoelementtien lรคpikulku voidaan tehdรค molempiin suuntiin. Tรคmรค on mahdollista, kun jokaisessa solmussa on kaksi linkkiรค, joista toinen yhdistรครค seuraavaan solmuun ja toinen edelliseen solmuun.

23) Selitรค Queue-rajapinnan tarjoamat menetelmรคt?

Menetelmรคt Java Jonon kรคyttรถliittymรค ovat:

Menetelmรค Tuotetiedot
boolen lisรคys(objekti) Lisรครค mรครคritetyn elementin jonoon. Se on totta, jos se onnistuu.
boolen tarjous(objekti) Tรคtรค menetelmรครค kรคytetรครคn elementin lisรครคmiseen jonoon.
Objektin poisto () Se hakee ja poistaa jonon pรครคn.
Objektikysely () (): Se hakee ja poistaa jonon pรครคn tai palauttaa nollan, jos se on tyhjรค.
Objektikysely () Se hakee ja poistaa jonon pรครคn tai palauttaa nollan, jos se on tyhjรค.
Objektielementti () Hakee tiedot jonosta, mutta ei poista sen pรครคtรค.
Kohteen kurkistus () Hakee tiedot jonosta, mutta ei poista sen pรครคtรค, tai jos jono on tyhjรค, se noutaa nollan.

24) Mainitse Stack-luokan tarjoamat menetelmรคt

Stack-luokan tarjoamia tรคrkeitรค menetelmiรค ovat:

  • tyรถntรครค(): Tyรถnnรค tuote pinoon.
  • tyhjรค (): Tรคmรค menetelmรค selvittรครค, onko pino tyhjรค vai ei.
  • pop (): Tรคmรค Java kokoelmakehysmenetelmรค poistaa objektin pinosta.
  • Hae (): Tรคmรค menetelmรค etsii kohteita pinosta.
  • kurkistaa (): Tรคmรค Java menetelmรค tarkastelee pinoobjektia poistamatta sitรค.

25) Mรครคrittele tyhjรคSet() kohdassa Java kokoelman puitteet

Menetelmรค emptySet(), joka palauttaa tyhjรคn muuttumattoman joukon aina, kun ohjelmoijat yrittรคvรคt poistaa nollaelementtejรค. Joukko, jonka emptySet() palauttaa, on serialoitavissa. Tรคmรคn menetelmรคn syntaksi on:

julkinen staattinen finaali Aseta tyhjรคjoukko()


26) Tee ero kokoelman ja kokoelman vรคlillรค

Ero kokoelman ja kokoelmien vรคlillรค on:

Kokoelma Kaikki tuotteet
Kokoelma on kรคyttรถliittymรค. Kokoelmat on luokkaa.
Se edustaa objektiryhmรครค yhtenรค kokonaisuutena. Se mรครคrittelee erilaisia โ€‹โ€‹apumenetelmiรค kokoelmaobjekteille.
Kokoelma on juurikรคyttรถliittymรค Java Kerรคyskehys. Kokoelmat on yleishyรถdyllisyysluokka.
Tรคtรค kรคyttรถliittymรครค kรคytetรครคn kokoelmatietorakenteiden johtamiseen. Tรคmรค luokka sisรคltรครค staattisia menetelmiรค tietorakenteen manipuloimiseksi.

27) Mรครคritรค LinkedHashSet kohdassa Java Kerรคyskehys?

LinkedHashSet on HashSet-nimisen luokan alaluokka ja se toteuttaa joukkorajapinnan. Se on hyvin jรคrjestetty versio HashSetistรค, joka yllรคpitรครค kaksoislinkitettyรค luetteloa kaikissa elementeissรครคn.


28) Mitรค eroa on failfastilla ja vikaturvallisella?

Failfast Failsafe
Se ei salli kokoelman muokkaamista iteroinnin aikana. Se mahdollistaa kokoelman muokkaamisen iteroinnin aikana.
Se voi heittรครค ConcurrentModificationException Se ei voi tehdรค poikkeusta.
Se kรคyttรครค alkuperรคistรค kokoelmaa elementtien lรคpikulkuun. Se kรคyttรครค alkuperรคistรค kokoelmakopiota elementtien lรคpikulkuun.
Lisรคmuistia ei vaadita. Lisรคmuistia tarvitaan.

29) Listaa karttaliittymรคn kokoelmanรคkymiรค

Karttarajapinnan kokoelmanรคkymรคt ovat: 1) avainjoukkonรคkymรค, 2) arvojoukon nรคkymรค ja 3) tulosarjanรคkymรค.


30) Mitkรค ovat kokoelmakehyksen edut Java?

Collection Frameworkin edut Java ovat:

  • Java Kerรคyskehys tarjoaa erittรคin tehokkaita ja tehokkaita tietorakenteita, jotka lisรครคvรคt ohjelman tarkkuutta ja nopeutta.
  • Ohjelma kehitettiin kanssa Java Kerรคyskehys 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?

Hyvรค tapa lajitella Java kokoelmaobjektit kรคyttรคvรคt Comparable- ja Comparator-rajapintoja. Kehittรคjรค voi kรคyttรครค Collections.sort()-komentoa, jolloin elementit lajitellaan vertailussa(-ssa) mainitun jรคrjestyksen mukaan.

Kun kehittรคjรค kรคyttรครค kokoelmia, lajittele (Comparator), se lajittelee objektit Comparator-rajapinnan vertailu():n mukaan.


32) Selitรค Vector sisรครคn Java

Vektori on sama kuin taulukko. Siinรค on komponentteja, joihin pรครคsee kรคsiksi indeksiarvon avulla. Vektorit voivat sisรคltรครค vanhan menetelmรคn, joka ei ole osa kokoelmakehystรค.


33) Mitรค eroa on Set ja Map vรคlillรค?

Asettaa kartta
Joukko kuuluu paketille-java.util. Kartta kuuluu pakettiin java.util.
Se voi laajentaa kokoelman kรคyttรถliittymรครค. Se ei laajenna kokoelman kรคyttรถliittymรครค.
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

Sanakirjaluokka on a Java luokka, jolla on kyky tallentaa avainarvo-pareja.


35) Mรครคritรค EnumSet

java.util.EnumSet on Set-toteutus, jota voidaan kรคyttรครค enum-tyyppien kanssa. EnumSetin, jossa on kaikki elementit, on oltava perรคisin yhdestรค eksplisiittisesti tai implisiittisesti mรครคritetystรค enum-tyypistรค. Sitรค ei synkronoida, eikรค myรถskรครคn nolla-avaimia sallita. EnumSet tarjoaa menetelmiรค, kuten EnumSetof(E ensin, Eโ€ฆ rest), komplementOf(EnumSet s) ja copyOf(Collection c).


36) Mitkรค ovat kaksi tapaa poistaa kaksoiskappaleet ArrayLististรค?

Kaksi tapaa poistaa kaksoiskappaleet ArrayLististรค ovat:

  • HashSet: Kehittรคjรค voi kรคyttรครค HashSetiรค poistaakseen kopioelementin ArrayLististรค. Haittapuolena 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รค LinkedHashSetiรค HashSetin sijaan.

37) Mikรค on IdentityHashMap?

IdentityHashMap on luokka, joka toteuttaa sarjoitettavat, kloonattavat rajapinnat, Map-luokituksen ja laajentaa Abs-luokkaa.tractMap-luokka. Se on suunniteltu tapauksiin, joissa tarvitaan viittaus-yhtรคsuuruussemantiikkaa.


38) Mikรค on WeakHashMap?

WeakHashMap on toteutus Java Kartta. Sitรค kรคytetรครคn tallentamaan heikkoja viittauksia sen avaimiin. Lajittelu tรคmรคn kartan avulla mahdollistaa avain-arvo-parin kerรครคmisen roskana. Sen avaimeen ei viitata WeakHashMapin ulkopuolella.


39) Millรค menetelmillรค keruulangat tehdรครคn turvalliseksi?

Menetelmรคt kerรคilylangan turvaamiseksi ovat:

  • Collections.synchronizedList(list);
  • Collections.synchronizedMap(kartta);
  • Collections.synchronizedSet(set);

40) Selitรค Ei tuettuOperationpoikkeus

tukematonOperationException on poikkeus, joka heitetรครคn menetelmille, joita todellinen kokoelmatyyppi ei tue.

Esimerkiksi kehittรคjรค tekee vain luku -luettelon kรคyttรคmรคllรค "Collections.unmodifiableList(list)" ja kutsuu menetelmรครค call(), add() tai remove(). Sen pitรคisi selvรคsti heittรครค UnsupportedOperationpoikkeus.


41) Nimeรค kokoelmaluokat, jotka antavat satunnaisen pรครคsyn elementteihinsรค

Kokoelmaluokat, jotka antavat satunnaisen pรครคsyn elementteihinsรค, ovat: 1) ArrayList, 2) HashMap, 3) TreeMap ja 4) Hashtable.


42) Selitรค ero Queue ja Deque vรคlillรค.

Jono deque
Sitรค kutsutaan yksipรครคtteiseksi jonoksi Sitรค kutsutaan kaksipรคiseksi jonoksi
Jonon elementit lisรคtรครคn tai poistetaan toisesta pรครคstรค Jonon elementit lisรคtรครคn kummastakin pรครคstรค voidaan lisรคtรค ja poistaa molemmista pรครคstรค
Se on vรคhemmรคn monipuolinen. Se on monipuolisempi.

43) Mainitse toteuttava List and Set -liitรคntรค

Luokan toteutusluettelon kรคyttรถliittymรค: 1) ArrayList, 2) Vector ja 3) LinkedList.

Luokan toteutussarjan kรคyttรถliittymรค: 1) HashSet ja 2) TreeSet.


44) Selitรค suunnittelukuvio ja Iterator

Iteraattori seuraa iteraattorin suunnittelumallin yksityiskohtia. Sen avulla kehittรคjรค voi navigoida objektikokoelmissa yhteisen kรคyttรถliittymรคn avulla tietรคmรคttรค sen toteutusta.


45) Mikรค on Queue-liittymรคn peek()?

Peek () on jonorajapinnan menetelmรค. Se hakee kaikki elementit, mutta ei poista jonon pรครคtรค. Jos jono on tyhjรค, tรคmรค menetelmรค palauttaa null.


46) Mikรค on CopyOnWriteArrayList?

CopyOnWriteArrayList on muunnos ArrayLististรค, jossa toiminnot, kuten add ja set, toteutetaan luomalla kopio taulukosta. Se on sรคikeen varma, eikรค se siten aiheuta ConcurrentModificationException-poikkeusta. Tรคmรค ArrayLists sallii kaikki elementit, mukaan lukien null.


47) Erota ArrayList ja LinkedList

Ero ArrayListin ja LinkedListin vรคlillรค on:

ArrayList LinkedList
Se kรคyttรครค dynaamista taulukkoa. Se kรคyttรครค kaksoislinkitettyรค luetteloa.
ArrayList ei ole suositeltava kรคsittelyyn. LinkedList on parempi manipulointiin.
ArrayList tarjoaa satunnaisen pรครคsyn. LinkedList ei tarjoa satunnaista pรครคsyรค.
ArrayList s tallentaa vain objektit, joten se vie vรคhemmรคn muistia LinkedList tallentaa objektin sekรค osoiteobjektin; siksi se vie enemmรคn muistia.

48) Selitรค iteraattorirajapinnan menetelmรคt

Iteraattorin kรคyttรถliittymรคn menetelmรคt ovat:

Menetelmรค Tuotetiedot
julkinen boolean hasNext() Se palauttaa tosi, jos iteraattorissa on elementtejรค; muussa tapauksessa 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 viimeiset iteraattorin palauttamat elementit. Public void remove() on vรคhemmรคn kรคytetty.

49) Mitkรค ovat HashSet-luokan menetelmรคt?

HashSet-luokan menetelmรคt ovat:

Menetelmรคt Tuotetiedot
boolen lisรคys (objekti o) Tรคmรค menetelmรค lisรครค mainintaelementin tรคhรคn joukkoon, jos sitรค ei vielรค ole.
Boolean sisรคltรครค (Objekti o): Se palauttaa tosi, jos joukko sisรคltรครค mรครคritetyn elementin.
tyhjรค tyhjรค(): Tรคmรค menetelmรค poistaa joukkoelementtejรค.
boolean isEmpty(): Se palauttaa tosi, jos joukossa ei ole elementtejรค.
boolen poisto (objekti o): Se poistaa mรครคritetyn elementin sarjasta.
objektin klooni(): Tรคmรค menetelmรค palauttaa kopion HashSet-ilmentymรคstรค: itse elementtejรค ei kloonata.
iteraattori iteraattori() Se palauttaa iteraattorin tรคmรคn joukon elementtien pรครคlle.
int size(): Se palauttaa joukossa kรคytettรคvissรค olevien elementtien mรครคrรคn.

50) Mitkรค ovat menetelmรคt Java TreeSet-luokka?

Menetelmรคt Java TreeSet-luokat ovat:

Menetelmรคt Descriptionit
looginen addAll (kokoelma c) Lisรครค kaikki mรครคritetyn kokoelman elementit tรคhรคn joukkoon.
totuusarvo sisรคltรครค (Object o) Palauttaa tosi, jos joukko sisรคltรครค maininta-elementin.
totuusarvo onTyhjรค () Tรคmรค Java Metodi palauttaa tosi, jos tรคmรค joukko ei sisรคllรค elementtejรค.
looginen poisto (Object o) Poista mรครคritetty elementti sarjasta.
tyhjรค lisรคys (objekti o) Se lisรครค mรครคritetyn elementin joukkoon.
mitรคtรถn selvรค () Tรคmรค Java menetelmรค poistaa kaikki elementit joukosta.

51) Selitรค Linked HashSet

Java LinkedHashSet-luokka on Set-kรคyttรถliittymรคn linkitetty lista ja hash-taulukko. Se sisรคltรครค ainutlaatuisia elementtejรค, jotka ovat samat kuin HashSet. Linkitetty HashSet sisรครคn Java tarjoaa myรถs valinnaisia โ€‹โ€‹asetustoimintoja, jotka voivat sรคilyttรครค lisรคysjรคrjestyksen.


52) Mitรค tรคrkeitรค menetelmiรค kรคytetรครคn linkitetyssรค luettelossa?

Linkitetyssรค luettelossa kรคytetyt tรคrkeรคt menetelmรคt ovat:

Menetelmรค Tuotetiedot
boolen lisรคys(objekti o) Sitรค kรคytetรครคn lisรครคmรครคn mรครคritetty elementti vektorin loppuun.
totuusarvo sisรคltรครค (Object o) Se on menetelmรค, joka palauttaa tosi, jos tรคmรค luettelo sisรคltรครค mรครคritetyn elementin.
void add (int index, Object element) Lisรครค elementin vektorin mรครคritettyyn elementtiin.
void addFirst(Object o) Sitรค kรคytetรครคn syรถttรคmรครคn annettu elementti alkuun.
void addLast(Object o) Sitรค kรคytetรครคn liittรคmรครคn annettu elementti loppuun.
Int size () Tรคtรค menetelmรครค voidaan kรคyttรครค palauttamaan luettelon elementtien kokonaismรครคrรค.
looginen poisto (Object o) Se voi poistaa mรครคritetyn elementin ensimmรคisen esiintymรคn tรคstรค luettelosta.
int indexOf(Objektielementti) Tรคmรค Java menetelmรค palauttaa indeksin, jossa mainita-elementti esiintyy ensimmรคisen kerran tรคssรค luettelossa tai -1.
int lastIndexOf(Objektielementti) On Java menetelmรค, joka palauttaa indeksin, jossa mรครคritetyn elementin viimeinen esiintyminen tรคssรค luettelossa on, tai -1.

53) Listaa eri luokkia sarjoina

Erilaisia โ€‹โ€‹luokkia saatavilla sarjoina ovat: HashSet, TreeSetand ja LinkedHashSet.


54) Listaa kรคytettรคvissรค olevat menetelmรคt Java Jonon kรคyttรถliittymรค

  • boolen lisรคys(objekti)
  • boolen tarjous(objekti)
  • objekti poista()
  • objektikysely()
  • objektielementti()
  • objekti peek()

55) Tee ero listan ja joukon vรคlillรค.

Lista Asettaa
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รคiset arvot eivรคt ole sallittuja
Mikรค tahansa mรครคrรค nolla-arvoja voidaan tallentaa Vain yksi nolla-arvo voidaan tallentaa
ListIteratorilla voidaan liikkua listaa mihin tahansa suuntaan ListIteratoria ei voi kรคyttรครค joukon lรคpikulkuun
Sisรคltรครค vanhan luokan nimeltรค vektori Ei sisรคllรค mitรครคn perintรถluokkaa

Java Kokoelmien haastattelukysymyksiรค ja vastauksia yli 5 vuoden kokemuksella

56) Selitรค jokaista silmukkaa esimerkin avulla

For-Each Loop on toinen for-silmukan muoto, jota kรคytetรครคn taulukon lรคpikulkuun. Se vรคhentรครค koodia merkittรคvรคsti, eikรค silmukassa kรคytetรค indeksiรค tai pikemminkin laskuria.

Esimerkki jokaiselle silmukalle:

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

57) Selitรค timanttioperaattori

Diamond-operaattorin avulla kรครคntรคjรค voi kerรคtรค geneerisen luokan tyyppiargumentit. sisรครคn Java SE, kehittรคjรค voi korvata parametroidun konstruktorin tyhjillรค parametrijoukoilla (<>), jotka tunnetaan nimellรค timanttioperaattori.


58) Selitรค satunnaiskรคyttรถliittymรค

List-toteutukset kรคyttรคvรคt RandomAccess-liitรคntรครค osoittamaan, ettรค ne tukevat nopeasti.


59) Nimeรค kokoelmaluokat, jotka toteuttavat hajasaantirajapinnan

Java.util-paketissa on luokat, jotka voivat toteuttaa satunnaiskรคyttรถliittymรคn: CopyOnWriteArrayList, Stack, ArrayList ja Vector.


60) Kuinka liittyรค useisiin ArrayLists-luetteloihin?

Lista tarjoaa addall()-menetelmรคn, jossa on useita ArrayList-luetteloita Java.

Harkitse esimerkiksi kahta listaa 1) areaList ja 2) secondAreaList. Kehittรคjรค voi liittyรค niihin kรคyttรคmรคllรค addall():ta, kuten:

alueLista.lisรครคKaikki(toinenAreaList);


61) Selitรค deque Interface

Java.util.Deque on Java, kรคyttรถliittymรค, joka laajentaa jonokรค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รคjรคt sallivat yhden nolla-avaimen ja useamman kuin yhden nolla-arvon.


63) Selitรค menetelmiรค elementtien poistamiseksi ArrayLististรค

Menetelmรคt elementtien poistamiseksi ArrayLististรค ovat:

Menetelmรค Tuotetiedot
asia selvรค() Tรคmรค menetelmรค poistaa elementit ArrayLististรค.
poista (int index) Tรคmรค ArrayList-menetelmรค voi poistaa elementin tietystรค paikasta.
poista (objekti o) Se voi poistaa mainintaelementin ensimmรคisen esiintymรคn ArrayLististรค.
Poista kaikki() Se voi poistaa luettelon elementeistรค, jotka ovat tietyssรค kokoelmassa.
removeIf(Predikaatti suodattaa) Tรคmรค menetelmรค poistaa elementit, jotka tรคyttรคvรคt predikaatin maininnan.

64) Selitรค kartta. merkintรค kartalla

Map.entry on a Java java.util kรคyttรถliittymรค. Siinรค on sisรคkkรคinen kรคyttรถliittymรค Mapissa. Tรคmรค kรคyttรถliittymรค on mรครคritettรคvรค luokan tai kรคyttรถliittymรคn nimellรค, jonka jรคsen se on. Siksi se on luokiteltu kartaksi. Sisรครคnpรครคsy. Se edustaa avain- ja arvoparia, joka voi muodostaa kartan elementin.

Tรคmรค menetelmรค palauttaa nรคkymรคn kokoelmasta. Harkitse esimerkiksi kaupunkikarttaa karttana. Kehittรคjรค voi kรคyttรครค enterSet():tรค saadakseen joukkonรคkymรคn kartasta, jossa on elementti Map.Entry. Ohjelmoija voi myรถs kรคyttรครค Map.Entry:n getKey()- ja getValue():ia saadakseen kartan avaimen ja arvon parin.


65) Mitรค menetelmรครค kรคytetรครคn taulukon lajitteluun nousevaan jรคrjestykseen?

Java kokoelmakehysmenetelmรครค Collections.sort() kรคytetรครคn lajittelemaan taulukko nousevaan jรคrjestykseen.


66) Kuinka mitata ArrayListin suorituskykyรค?

ArrayListin suorituskykyรค voidaan mitata seuraavilla tavoilla:

  • Elementin lisรครคminen: Kehittรคjรค voi lisรคtรค elementin ArrayListin loppuun kรคyttรคmรคllรค add(E e) -menetelmรครค. Se on O(1). Pahimmassa tapauksessa se voi mennรค kohtaan O(n). Tรคmรค voi tapahtua, jos kehittรคjรค lisรครค enemmรคn elementtejรค kuin taulukon kapasiteetti.
  • Elementin hakeminen: Kehittรคjรค voi kรคyttรครค taulukkoindeksiรค kรคyttรคmรคllรค get(int index). Suorituskykyรค voidaan tรคssรค tapauksessa mitata kรคyttรคmรคllรค ArrayList get() on O(1).
  • Elementin poistaminen: Siinรค tapauksessa, ettรค kehittรคjรคt poistavat elementtiรค kรคyttรคmรคllรค remove(int-indeksiรค), niin ArrayListin suorituskyky voidaan laskea mainitulla poisto(int index) -operaatiolla on O(n โ€“ index) menetelmรค.

67) Selitรค LinkedList-luokka

LinkedList-luokka sisรครคn Java toteuttaa Deque and List -toiminnon kรคyttรคmรคllรค kaksoislinkitettyรค luetteloa. Kaksinkertaisesti linkitetyssรค luettelossa on yksityinen luokkasolmu, joka tarjoaa sen rakenteen. Siinรค on myรถs nimikemuuttuja arvon sรคilyttรคmiseksi ja viittauksen solmuluokkaan. Tรคtรค voidaan kรคyttรครค seuraavan ja edellisen solmun yhdistรคmiseen.


68) Anna esimerkki Hashmapista

Hashmapin esimerkki on:

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

69) Kuinka iteroida karttaa?

Kehittรคjรค ei voi iteroida karttaa suoraan, mutta tรคssรค kรคyttรถliittymรคssรค on kaksi menetelmรครค, jotka antavat nรคkymรคn karttaan. Nรคmรค menetelmรคt ovat:

  • Aseta >entrySet(): Se on menetelmรค, joka palauttaa joukon, jonka merkinnรคt mainitaan kartassa. Nรคmรค merkinnรคt ovat yleensรค vastustettuja, joiden tyyppi on Kartta. Sisรครคnpรครคsy.
  • Aseta keySet(): Tรคmรค Java menetelmรค palauttaa joukon, jolla on karttaavain.

70) Selitรค Treemap sisรครคn Java

TreeMap on luokka, joka toteuttaa Map-rajapinnan LinkedHashMap ja HashMap. Se voi myรถs toteuttaa NavigableMap-rajapinnan ja laajentaa Abs-rajapintaa.tractMap-luokka.


71) Mitรค eroa on Hashmapin ja Hashtablen vรคlillรค?

Hashmap Hashtable
Sitรค ei ole synkronoitu. Se on synkronoitu.
HashMap sallii yhden avaimen nollaarvona. HashTable ei salli nolla-arvoja.
Iteraattoria kรคytetรครคn HashMapin lรคpikulkuun. Hashtaulukon lรคpikรคymiseen kรคytetรครคn Iteraattoria tai Enumeraattoria.
Sitรค voidaan kรคyttรครค sekรค HashTableille ettรค HashMapille ja se on nopea. Sitรค voidaan kรคyttรครค HashTablen kanssa ja se on vikasietoinen.
HashMap toimii nopeammin kuin HashTable. Hashtable ei ole paljon nopeampi verrattuna HashMapiin.

72) Selitรค HashSetin sisรคinen toiminta Java

HashSet sisรครคn Java kรคyttรครค sisรคisesti HashMapia elementtien tallentamiseen. Se voi myรถs tallentaa ainutlaatuisia arvoja ilman pรครคllekkรคisiรค arvoja.

In Java, HashSet-kehittรคjรคllรค voi olla add(E e) -metodi, joka ottaa vain lisรคttรคvรคn elementin parametriksi. Se ei hyvรคksy avain- ja arvoparia.


73) Selitรค Big-O-merkintรค esimerkillรค

Big-O-merkintรค kuvaa algoritmin suorituskykyรค ArrayListin elementtien lukumรครคrรคnรค. Kehittรคjรค voi kรคyttรครค Big-O-merkintรครค valitakseen kokoelman toteutuksen. Se perustuu suorituskykyyn, aikaan ja muistiin.

Esimerkiksi ArrayList get(index i) on tapa suorittaa vakioaikatoiminto. Se ei riipu luettelossa olevien elementtien kokonaismรครคrรคstรค. Siksi suorituskyky Big-O-merkinnรถissรค on O(1).


74) Selitรค parhaat kรคytรคnnรถt Java Collection Framework

Parhaat kรคytรคnnรถt Java Kokoelmakehykset ovat:

  • Oikean kokoelmatyypin valitseminen riippuu tarpeesta.
  • Vรคltรค tiivistรคmistรค tai koon muuttamista arvioimalla kokoelmaluokkiin tallennettavien elementtien kokonaismรครคrรค.
  • Kirjoittaa Java ohjelma liitรคntรถjen suhteen. Tรคmรค auttaa kehittรคjรครค muuttamaan sen toteutusta vaivattomasti tulevaisuudessa.
  • Kehittรคjรค voi kรคyttรครค Genericsiรค tyyppiturvallisuuden vuoksi.
  • Kรคytรค muuttumattomia luokkia, jotka on antanut Java Development Kit. Vรคltรค equals():n ja hajautusarvon kรคyttรถรค.Code() mukautetuille luokille.
  • Ohjelmoijan tulee kรคyttรครค Kokoelmat-apuluokkaa algoritmeihin tai vain luku -muotoisten, synkronoitujen tai tyhjien kokoelmien saamiseksi. Tรคmรค parantaa koodin uudelleenkรคytettรคvyyttรค alhaisella yllรคpidolla.

75) Selitรค erityyppisiรค jonoja Java

Siellรค on kolmenlaisia โ€‹โ€‹jonoja Java:

  • Prioriteettijono: Se on erityinen jonotyyppi, jossa elementit lajitellaan niiden luonnollisen jรคrjestyksen tai mukautetun vertailijan mukaan.
  • Pyรถreรค jono: Se on erรครคnlainen jono, jossa kรคyttรคjรคn toiminnot suoritetaan FIFO-menetelmรคn perusteella. Viimeinen elementti yhdistetรครคn ensimmรคiseen kohtaan ympyrรคn muodostamiseksi.
  • Double- pรครคttynyt jono: Kaksipรคinen jono on vatsalihastract-tietotyyppi, joka yleistรครค jonon. Jonon elementtejรค voidaan lisรคtรค tai poistaa joko jonon pรครคstรค tai hรคnnรคstรค.

76) Mitรค eroa pinon ja jonon vรคlillรค on?

Pinota Jono
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 varianttia. Siinรค on muunnelmia, kuten prioriteettijono, pyรถreรค jono, kaksipรคinen jono.
Se on helppo kรคyttรครค. Sitรค ei ole helppo kรคyttรครค.

77) Mitรค eroa on taulukolla ja pinolla?

Ero taulukon ja pinon vรคlillรค on:

Ryhmรค Pinota
Se on kokoelma elementtejรค, jotka tunnistetaan indeksillรค. Se on kerรคysoperaatio, joka toimii push- ja pop-operaatioina.
Siinรค on tietotyyppien elementtejรค, jotka ovat samat. Siinรค on erilaisia โ€‹โ€‹tietotyyppejรค.
Elementit voidaan poistaa tai lisรคtรค taulukkoon kรคyttรคmรคllรค hajasaantitoimintoa. Elementit voidaan poistaa tai lisรคtรค pinoon LIFO-toiminnolla.

78) Mรครคritรค iteraattori()

Iterator() on kรคyttรถliittymรค, joka tarjoaa menetelmiรค kokoelman iterointiin. Iteraattori voi korvata Enumerationin Java. Sen avulla soittaja voi poistaa elementtejรค kokoelmasta. Menetelmรค tarjoaa yleisen tavan kulkea kรคyttรคmรคllรค kokoelman elementtejรค ja toteuttamalla iteraattorin suunnittelumallia.


79) Mitรค eri tapoja on toistaa luetteloa?

Java kokoelma Framework-ohjelmoija voi iteroida luetteloa kahdella tavalla: 1) kรคyttรคmรคllรค iteraattoria ja 2) kรคyttรคmรคllรค sitรค jokaiselle silmukka.


80) Mitkรค ovat pinon edut?

Pinon edut ovat:

  • Sen avulla voit hallita tietoja LIFO (Last In First Out) -menetelmรคllรค, mikรค ei ole mahdollista Linked-luettelon ja -taulukon kanssa.
  • Kun funktiota kutsutaan, paikalliset muuttujat tallennetaan pinoon, ja se tuhotaan automaattisesti, kun se palautetaan.
  • Pinoa kรคytetรครคn, kun muuttujaa ei kรคytetรค kyseisen funktion ulkopuolella.
  • Sen avulla voit hallita muistin varaamista ja vapauttamista.
  • Pino puhdistaa kohteen automaattisesti.
  • Ei helposti korruptoitunut
  • Muuttujat kokoa ei voi muuttaa.

Nรคmรค haastattelukysymykset auttavat myรถs vivassasi (suullinen)

Tiivistรค tรคmรค viesti seuraavasti: