80 Java Zbirke Intervju Pitanja i odgovori (2025)
Java Pitanja i odgovori za razgovore o zbirkama za brucoše
1) U čemu je okvir Java?
Okvir je popularna i gotova arhitektura koja sadrži skup klasa i sučelja.
2) U čemu je okvir zbirke Java?
Okvir zbirke je grupiranje klasa i sučelja koje se koristi za pohranu i upravljanje objektima. Pruža različite klase kao što su Vector, ArrayList, HashSet, Stack, itd. Java Okvir zbirke također se može koristiti za sučelja kao što su Queue, Set, List itd.
3) Objasnite klasu zbirki
java.util.Collections je klasa koja se sastoji od statičkih metoda koje rade na zbirkama. Sadrži polimorfne algoritme za rad na zbirkama, "omotače". Ova klasa sadrži metode za algoritme, poput binarnog sortiranja, pretraživanja, miješanja itd.
4) Što je hashCode()?
HashCode() je metoda koja vraća cijeli broj hash koda.
5) Razlikujte ArrayList i Vector u Java okvir zbirke.
ArrayList | vektor |
---|---|
ArrayList se ne može sinkronizirati. | Vektor se može sinkronizirati. |
To nije naslijeđena klasa. | To je naslijeđena klasa. |
Može povećati svoju veličinu za 50% veličine niza. | Može povećati svoju veličinu udvostručenjem veličine niza. |
ArrayList nije siguran za niti. | Vector je siguran za niti. |
6) U čemu je ArrayList Java?
ArrayList je podatkovna struktura koja se može rastegnuti kako bi primila dodatne elemente unutar sebe i smanjiti se na manju veličinu kada se elementi uklone. To je vrlo važna struktura podataka korisna u rukovanju dinamičkim ponašanjem elemenata.
7) Napravite razliku između Iteratora i ListIteratora
Razlika između Iteratora i ListIteratora je:
iterator | ListIterator |
---|---|
Iterator može prelaziti elemente niza u smjeru naprijed. | ListIterator može prelaziti elemente niza u smjeru unatrag i prema naprijed. |
Može se koristiti u redovima čekanja, popisu i skupu. | Može se koristiti u Listi. |
Može izvršiti samo operaciju uklanjanja. | Može izvoditi operaciju dodavanja, uklanjanja i postavljanja dok prolazi zbirkom. |
8) Koja je razlika između Iteratora i Enumerationa?
Razlika između Iteratora i Enumerationa
iterator | nabrajanje |
---|---|
Iterator može proći i naslijeđene i nenaslijeđene elemente. | Nabrajanje može proći samo naslijeđene elemente. |
Iterator je brz do kvarova. | Nabrajanje nije fail-fast. |
Iterator je vrlo spor u usporedbi s Enumeration. | Nabrajanje je brzo u usporedbi s Iteratorom. |
Iterator može izvesti operaciju uklanjanja dok prolazi zbirkom. | Enumeracija može izvoditi samo operaciju obilaska zbirke. |
9) Definirajte BlockingQueue
BlockingQueue je sučelje koje se koristi u Java koji može produžiti red čekanja. Omogućuje istodobnost u raznim operacijama reda kao što su dohvaćanje, umetanje, brisanje itd.
Red čeka da postane neprazan u trenutku dohvaćanja bilo kojeg elementa. BlockingQueue ne smije sadržavati null elemente. Implementacija ovog reda čekanja je sigurna za niti.
Sintaksa BlockingQueue je:
public interface BlockingQueue<E> extends Queue <E>
10) Objasnite nadjačavanje metode equals().
Metoda equals koristi se za provjeru sličnosti između dva objekta. U slučaju da programer želi provjeriti objekt na temelju svojstva, tada ga treba nadjačati.
11) Koja je razlika između Comparable i Comparator?
Razlika između Comparable i Comparator je:
Usporedive | Usporednik |
---|---|
Comparable nudi metodu compareTo() za sortiranje elemenata Java. | Komparator nudi metodu compare() za sortiranje elemenata Java. |
Usporedivo sučelje prisutno je u java.lang paketu. | Sučelje za usporedbu prisutno je u Javi. pomoćni paket. |
Logika sortiranja mora biti u istoj klasi čiji objekt ćete sortirati. | Logika sortiranja trebala bi biti u zasebnoj klasi za pisanje različitog sortiranja na temelju različitih atributa objekata. |
Klasa čije objekte želite sortirati mora implementirati usporedivo sučelje. | Klase, čije objekte želite sortirati, ne moraju implementirati sučelje za usporedbu. |
Omogućuje pojedinačne nizove sortiranja. | Omogućuje više sekvenci sortiranja. |
Ova metoda može sortirati podatke prema prirodnom redoslijedu sortiranja. | Ova metoda sortira podatke prema prilagođenom redoslijedu sortiranja. |
Utječe na izvornu klasu. tj. mijenja se stvarna klasa. | Ne utječe na izvornu klasu, tj. stvarna klasa se ne mijenja. |
Često se implementira u API-ju pomoću kalendara, klasa omotača, datuma i niza. | Implementiran je za sortiranje instanci klasa trećih strana. |
Sve klase omotača i klasa String implementiraju usporedivo sučelje. | Jedine implementirane klase Comparator-a su Collator i RuleBasedColator. |
12) Objasnite equals() na primjeru
Equals() provjerava je li objekt broj jednak objektu koji se prosljeđuje kao argument ili ne.
Sintaksa metode equals() je:
public boolean equals(Object o)
Ova metoda uzima dva parametra 1) bilo koji objekt, 2) povratnu vrijednost. Vraća true ako proslijeđeni argument nije null i objekt je sličnog tipa koji ima istu numeričku vrijednost.
Primjer:
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) Navedite prednosti generičke kolekcije
Prednosti korištenja generičke kolekcije su:
- Ako programeri koriste generičku klasu, ne zahtijevaju tipiziranje.
- Sigurno je za tip i može se provjeriti u vrijeme kompilacije.
- Omogućuje stabilnost koda otkrivanjem greške u vrijeme kompilacije.
14) Objasnite metodu pretvaranja ArrayList u Array i Array u ArrayList
Programeri mogu pretvoriti Array u ArrayList pomoću metode asList() klase Arrays. To je statička metoda klase Arrays koja prihvaća objekt List. Sintaksa metode asList() je:
Arrays.asList(item)
Java programeri mogu pretvoriti ArrayList u objekt List koristeći sintaksu:
List_object.toArray(new String[List_object.size()])
15) Navedite primjer ArrayList
Primjer obrnutog ArrayList-a je:
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) Navedite primjer sortiranja niza u silaznom redoslijedu
Primjer sortiranja niza u opadajućem redoslijedu je:
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) Objasnite osnovna sučelja Java okvir zbirki
Java okvir zbirke korijen je hijerarhije zbirke. Predstavlja skupinu objekata kao svoje elemente. The Java programski jezik ne pruža izravnu implementaciju takvog sučelja.
- Set: Skup je kolekcija koja nema dupliciranih elemenata. Za pohranu elemenata koristi hashtable.
- Popis: Popis je uređena zbirka koja može sadržavati duplicirane elemente. Omogućuje razvojnim programerima pristup svim elementima iz pristigle pošte. Popis je poput niza dinamičke duljine.
- KARTA: To je objekt koji preslikava ključeve u vrijednosti. Ne može sadržavati duple ključeve. Svaki ključ može se preslikati na najmanje jednu vrijednost.
18) Koje su karakteristike Java Hashmap?
Značajke Java Hashmap je:
- Vrijednosti se mogu pohraniti u mapu formiranjem para ključ-vrijednost. Vrijednost se može dohvatiti korištenjem ključa prosljeđivanjem ispravnoj metodi.
- Ako u mapi ne postoji element, izbacit će 'NoSuchElementException'.
- HashMap pohranjuje samo reference objekata. Zato je nemoguće koristiti primitivne tipove podataka kao što su double ili int. Koristite klasu omotača (poput Integer ili Double) umjesto toga.
19) Što je hrpa?
Stog je posebno područje memorije računala koje pohranjuje privremene varijable koje stvara funkcija. U stogu se varijable deklariraju, pohranjuju i inicijaliziraju tijekom izvođenja.
20) Što je povezana lista?
Povezani popis je struktura podataka koja može pohraniti zbirku stavki. Drugim riječima, povezani popisi mogu se koristiti za pohranu nekoliko objekata iste vrste. Svaka jedinica ili element popisa naziva se čvor. Čvor na povezanom popisu ima svoje podatke i adresu sljedećeg čvora. To je poput lanca. Povezani popisi koriste se za izradu grafikona i stabala.
Java Zbirke Intervju Pitanja i odgovori za iskusne
21) Navedite primjer ArrayList
Primjer ArrayList je:
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) Objasnite povezani popis koji podržava Java
Dvije vrste povezanih popisa podržava Java je:
- Pojedinačno povezani popis: Pojedinačno povezani popis je vrsta strukture podataka. U pojedinačno povezanom popisu, svaki čvor na popisu pohranjuje sadržaj čvora i referencu ili pokazivač na sljedeći čvor na popisu. Ne pohranjuje nikakvu referencu ili pokazivač na prethodni čvor.
- Dvostruko povezane liste: Dvostruko povezani popisi posebna su vrsta povezanog popisa u kojem se kretanje kroz elemente podataka može obaviti u oba smjera. To je omogućeno postojanjem dvije veze u svakom čvoru, jedne koja povezuje na sljedeći čvor i druge koja se povezuje na prethodni čvor.
23) Objasnite metode koje nudi sučelje Queue?
Metode od Java Sučelje reda čekanja je:
način | Description |
---|---|
Booleov dodatak (objekt) | Umeće navedeni element u red čekanja. Vraća true u slučaju uspjeha. |
Booleova ponuda (objekt) | Ova metoda se koristi za umetanje elementa u red čekanja. |
Ukloni objekt() | Dohvaća i uklanja glavu reda čekanja. |
Anketa objekta() | () Dohvaća i uklanja glavu reda ili vraća null u slučaju da je prazna. |
Anketa objekta() | Dohvaća i uklanja glavu reda ili vraća null u slučaju da je prazna. |
Element objekta () | Dohvaća podatke iz reda čekanja, ali ne uklanja njegovu glavu. |
Objekt peek() | Dohvaća podatke iz reda, ali ne uklanja njegovu glavu, ili u slučaju, ako je red, red je prazan, dohvatit će nulu. |
24) Navedite metode koje nudi klasa Stack
Važne metode koje nudi klasa Stack su:
- gurnuti(): Gurnite stavku u hrpu.
- prazan (): Ova metoda utvrđuje da li je stog prazan ili ne.
- pop (): Ova Java metoda okvira zbirke uklanja objekt sa stoga.
- traži (): Ova metoda pretražuje stavke u stogu.
- zaviriti (): Ova Java metoda gleda objekt stog bez uklanjanja.
25) Definirajte emptySet() u Java okvir zbirki
Metoda emptySet() koja vraća prazan nepromjenjivi skup kad god programeri pokušaju ukloniti nulte elemente. Skup koji vraća emptySet() može se serijalizirati. Sintaksa ove metode je:
public static final Set prazanSkup()
26) Razlikujte Zbirku i Zbirke
Razlika između zbirke i zbirke je:
Kolekcija | Kolekcije |
---|---|
Kolekcija je sučelje. | Zbirke su klasa. |
Predstavlja skupinu objekata kao jednu cjelinu. | Definira različite korisne metode za objekte zbirke. |
Kolekcija je korijensko sučelje za Java Okvir zbirke. | Zbirke su opća uslužna klasa. |
Ovo se sučelje koristi za izvođenje struktura podataka zbirke. | Ova klasa sadrži statičke metode za manipuliranje strukturom podataka. |
27) Definirajte LinkedHashSet u Java Okvir zbirke?
LinkedHashSet je potklasa klase koja se zove HashSet i implementira postavljeno sučelje. To je dobro uređena verzija HashSeta koja održava dvostruko povezani popis u svim svojim elementima.
28) Koja je razlika između failfast i failsafe?
Failfast | failsafe |
---|---|
Ne dopušta modificiranje zbirke tijekom ponavljanja. | Omogućuje modificiranje zbirke tijekom ponavljanja. |
Može izbaciti ConcurrentModificationException | Ne može izazvati nikakvu iznimku. |
Koristi izvornu zbirku za prelaženje elemenata. | Koristi izvornu kopiju zbirke za prelazak elemenata. |
Nema potrebe za dodatnom memorijom. | Postoji zahtjev za dodatnom memorijom. |
29) Prikazi zbirke prikaza sučelja karte
Prikazi zbirke sučelja karte su: 1) pogled skupa ključeva, 2) prikaz skupa vrijednosti i 3) prikaz skupa unosa.
30) Koje su prednosti okvira zbirke u Java?
Prednosti Collection Frameworka u Java je:
- Java okvir za prikupljanje nudi vrlo učinkovite i učinkovite strukture podataka koje povećavaju točnost i brzinu programa.
- Program razvijen s Java okvir zbirke je jednostavan za održavanje.
- Programer može miješati klase s drugim vrstama što rezultira povećanjem mogućnosti ponovne upotrebe koda.
- The Java okvir zbirke omogućuje programerima da modificiraju primitivne tipove kolekcija na način na koji žele.
31) Koji je dobar način za sortiranje objekata zbirke Java?
Dobar način sortiranja Java objekti zbirke koriste sučelja Comparable i Comparator. Programer može koristiti Collections.sort(), elementi se sortiraju na temelju redoslijeda koji se spominje u compareTo().
Kada programer koristi Collections, sort (Comparator), on sortira objekte ovisno o compare() sučelja Comparator.
32) Objasnite Vector in Java
Vektor je isti kao niz. Ima komponente kojima se može pristupiti korištenjem vrijednosti indeksa. Vektori mogu sadržavati naslijeđenu metodu koja nije dio okvira zbirke.
33) Koja je razlika između Seta i Mape?
Postaviti | Karta |
---|---|
Skup pripada package-java.util. | Karta pripada paketu- java.util. |
Može proširiti sučelje zbirke. | Ne proširuje sučelje zbirke. |
Ne dopušta dvostruke vrijednosti. | Omogućuje duplicirane vrijednosti. |
Skup može sortirati samo jednu nultu vrijednost. | Karta može sortirati višestruke nulte vrijednosti. |
34) Definirajte klasu rječnika
Klasa rječnika je a Java klasa koja ima sposobnost pohranjivanja parova ključ-vrijednost.
35) Definirajte EnumSet
java.util.EnumSet je Set implementacija koja se može koristiti s tipovima enum. EnumSet koji ima sve elemente mora potjecati iz jednog tipa enum navedenog eksplicitno ili implicitno. Nije sinkroniziran, a također nisu dopušteni nulti ključevi. EnumSet pruža metode kao što su EnumSetof(E first, E… rest), complementOf(EnumSet s) i copyOf(Collection c).
36) Koja su dva načina za uklanjanje duplikata iz ArrayList-a?
Dva su načina za uklanjanje duplikata iz ArrayList-a:
- HashSet: Programer može koristiti HashSet za uklanjanje dupliciranog elementa iz ArrayList-a. Nedostatak je što ne može sačuvati redoslijed umetanja.
- LinkedHashSet: Programeri također mogu održavati redoslijed umetanja koristeći LinkedHashSet umjesto HashSeta.
37) Što je IdentityHashMap?
IdentityHashMap je klasa koja implementira Serializable, Clonable sučelja, Map i proširuje AbstractMap klasu. Dizajniran je za slučaj kada postoji potreba za semantikom referentne jednakosti.
38) Što je WeakHashMap?
WeakHashMap je implementacija Java Karta. Koristi se za pohranjivanje slabih referenci na svoje ključeve. Razvrstavanje pomoću ove karte omogućuje da se par ključ-vrijednost skupi kao smeće. Njegov ključ nije referenciran izvan WeakHashMapa.
39) Koje su metode da se skupljanje učini niti sigurnim?
Metode za sigurno prikupljanje niti su:
- Collections.synchronizedList(list);
- Zbirke.synchronizedMap(mapa);
- Zbirke.synchronizedSet(set);
40) Objasnite NepodržanoOperationException
bez podrškeOperationException je iznimka koja se pojavljuje na metodama koje stvarna vrsta zbirke ne podržava.
Na primjer, programer izrađuje popis samo za čitanje koristeći “Collections.unmodifiableList(list)” i pozivajući metodu call(), add() ili remove(). Treba jasno izbaciti UnsupportedOperationException.
41) Imenujte klase zbirke koje nasumičnom elementu daju pristup svojim elementima
Klase zbirke koje nasumičnom elementu daju pristup svojim elementima su: 1) ArrayList, 2) HashMap, 3) TreeMap i 4) Hashtable.
42) Objasnite razliku između Queue i Deque.
Red | O čemu |
---|---|
To se zove jednostrani red | Naziva se dvostruki red čekanja |
Elementi u redu čekanja dodaju se ili uklanjaju s jednog kraja | Elementi u redu koji se dodaju s bilo kojeg kraja mogu se dodavati i uklanjati s oba kraja |
Manje je svestran. | Svestraniji je. |
43) Spomenite implementirajuće sučelje List and Set
Klasa koja implementira sučelje popisa: 1) ArrayList, 2) Vector i 3) LinkedList.
Klasa koja implementira Set sučelje: 1) HashSet i 2) TreeSet.
44) Objasnite uzorak dizajna koji slijedi Iterator
Iterator slijedi detalje uzorka dizajna iteratora. Programeru omogućuje navigaciju kroz zbirke objekata koristeći zajedničko sučelje bez poznavanja njegove implementacije.
45) Što je peek() sučelja Queue?
Peek () je metoda sučelja čekanja. Dohvaća sve elemente, ali ne uklanja glavu reda čekanja. U slučaju da je red prazan, ova metoda će vratiti null.
46) Što je CopyOnWriteArrayList?
CopyOnWriteArrayList je varijanta ArrayList-a u kojoj se operacije poput dodavanja i postavljanja implementiraju stvaranjem kopije niza. To je thread-safe i stoga ne izbacuje ConcurrentModificationException. Ovaj ArrayLists dopušta sve elemente, uključujući null.
47) Napravite razliku između ArrayList i LinkedList
Razlika između ArrayList i LinkedList je:
ArrayList | LinkedList |
---|---|
Koristi dinamički niz. | Koristi dvostruko povezanu listu. |
ArrayList nije poželjan za manipulaciju. | LinkedList je poželjniji za manipulaciju. |
ArrayList omogućuje nasumični pristup. | LinkedList ne omogućuje nasumični pristup. |
ArrayList s pohranjuje samo objekte pa zauzima manje prostora za memoriju | LinkedList pohranjuje objekt kao i objekt adrese; dakle, potrebno je više memorije. |
48) Objasnite metode sučelja iteratora
Metode sučelja iteratora su:
način | Description |
---|---|
javni booleov hasNext() | Vraća true u iteratoru ima elemenata; u suprotnom, vraća false. |
javni objekt next() | Ova metoda vraća element i pomiče pokazivač na sljedeću vrijednost. |
public void remove() | Ova Java metoda može ukloniti posljednje elemente koje je vratio iterator. Public void remove() se manje koristi. |
49) Koje su metode klase HashSet?
Metode HashSet klase su:
Metode | Description |
---|---|
Boolean add(Object o) | Ova metoda dodaje element spominjanja ovom skupu ako već nije prisutan. |
boolean sadrži (objekt o): | Vraća true ako skup sadrži navedeni element. |
void clear(): | Ova metoda uklanja elemente skupa. |
Boolean isEmpty(): | Vraća true u slučaju, skup nema elemenata. |
boolean ukloniti (objekt o): | Uklanja navedeni element iz skupa. |
klon objekta(): | Ova metoda vraća kopiju instance HashSet: sami elementi nisu klonirani. |
iterator iterator() | Vraća iterator preko elemenata u ovom skupu. |
int veličina(): | Vraća broj elemenata dostupnih u skupu. |
50) Koje su metode Java Klasa TreeSet?
Metode od Java Klasa TreeSet je:
Metode | Descriptioni |
---|---|
boolean addAll(kolekcija c) | Ovom skupu dodajte sve elemente iz navedene zbirke. |
boolean sadrži (objekt o) | Vraća true ako skup sadrži spomenuti element. |
Boolean isEmpty() | Ova Java metoda vraća true ako ovaj skup ne sadrži elemente. |
boolean ukloniti (objekt o) | Ukloni navedeni element iz skupa. |
void add (Object o) | Dodaje navedeni element skupu. |
praznina jasno() | Ova Java metoda uklanja sve elemente iz skupa. |
51) Objasnite povezani hashset
Java Klasa LinkedHashSet je implementacija povezanog popisa i hash tablice sučelja Set. Sadrži jedinstvene elemente kao i HashSet. Povezani HashSet u Java također nudi izborne skupne operacije koje mogu održavati redoslijed umetanja.
52) Koje su važne metode korištene u povezanom popisu?
Važne metode korištene u povezanom popisu su:
način | Description |
---|---|
Boolean add (Object o) | Koristi se za dodavanje navedenog elementa na kraj vektora. |
boolean sadrži (objekt o) | To je metoda koja vraća true ako ovaj popis sadrži navedeni element. |
void add (int indeks, element objekta) | Umeće element u navedeni element u vektoru. |
void addFirst(Object o) | Koristi se za umetanje zadanog elementa na početak. |
void addLast(Object o) | Koristi se za dodavanje zadanog elementa na kraj. |
Int size() | Ova se metoda može koristiti za vraćanje ukupnog broja elemenata na popisu. |
boolean ukloniti (objekt o) | Može ukloniti prvo pojavljivanje navedenog elementa s ovog popisa. |
int indexOf(element objekta) | Ova Java metoda vraća indeks s prvim pojavljivanjem elementa spominjanja na ovom popisu ili -1. |
int lastIndexOf(element objekta) | To je Java metoda koja vraća indeks sa zadnjim pojavljivanjem navedenog elementa na ovom popisu ili -1. |
53) Navedite različite klase dostupne u setovima
Razne klase dostupne u skupovima su: HashSet, TreeSetand i LinkedHashSet.
54) Navedite metode dostupne u Java Sučelje čekanja
- Booleov dodatak (objekt)
- Booleova ponuda (objekt)
- objekt ukloniti()
- ispitivanje objekta()
- element objekta()
- objekt peek()
55) Napravite razliku između popisa i skupa.
Popis | Postaviti |
---|---|
Uređena zbirka elemenata | Neuređena zbirka elemenata |
Čuva redoslijed umetanja | Ne čuva redoslijed umetanja |
Dopuštene su duplicirane vrijednosti | Duplikati vrijednosti nisu dopušteni |
Može se pohraniti bilo koji broj nultih vrijednosti | Moguće je pohraniti samo jednu nultu vrijednost |
ListIterator se može koristiti za kretanje kroz popis u bilo kojem smjeru | ListIterator se ne može koristiti za prelazak skupa |
Sadrži naslijeđenu klasu koja se zove vektor | Ne sadrži nijednu naslijeđenu klasu |
Java Pitanja i odgovori za razgovore o zbirkama za 5+ godina iskustva
56) Objasnite svaku petlju na primjeru
For-Each Loop je još jedan oblik for petlje koji se koristi za prelaženje niza. Značajno smanjuje kod i nema potrebe za indeksom ili bolje rečeno brojačem u petlji.
Primjer za svaku petlju:
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) Objasnite dijamantni operator
Diamond operator omogućuje prevoditelju prikupljanje argumenata tipa generičke klase. U Java SE, programer može parametrizirani konstruktor zamijeniti praznim skupovima parametara (<>) poznatim kao dijamantni operator.
58) Objasnite sučelje nasumičnog pristupa
RandomAccess sučelje koriste List implementacije za indikaciju da podržavaju brzo.
59) Imenujte klase zbirke koje implementiraju sučelje s slučajnim pristupom
Java.util paket ima klase koje mogu implementirati sučelje s nasumičnim pristupom su: CopyOnWriteArrayList, Stack, ArrayList i Vector.
60) Kako spojiti više ArrayLists?
Popis nudi addall() metodu više ArrayList in Java.
Na primjer, razmotrite dva popisa 1) areaList i 2) secondAreaList. Programer im se može pridružiti koristeći addall() poput:
areaList.addAll(secondAreaList);
61) Objasnite deque sučelje
Java.util.Deque je Java, sučelje koje proširuje Queue sučelje. Daje podršku za umetanje i brisanje elemenata na oba kraja. Ovaj red čekanja se također naziva dvostruki red čekanja.
62) Objasnite Linkedhashmap
LinkedHashMap je implementacija sučelja karte. Također može proširiti klasu HashMap. Stoga, kao i HashMap, LinkedHashMap omogućuje Java programeri da dopuste jedan null ključ i više od jedne null vrijednosti.
63) Objasnite metode za uklanjanje elemenata iz ArrayList
Metode za uklanjanje elemenata iz ArrayList su:
način | Description |
---|---|
čisto() | Ova metoda uklanja elemente iz ArrayList. |
ukloniti (indeks) | Ova metoda ArrayList može ukloniti element na određenoj poziciji. |
ukloniti (objekt o) | Može ukloniti prvo pojavljivanje spomenutog elementa iz ArrayList-a. |
ukloniti sve() | Može ukloniti popis elemenata koji se nalaze u određenoj kolekciji. |
removeIf(predikat filtar) | Ova metoda uklanja elemente koji zadovoljavaju spominjanje predikata. |
64) Objasnite kartu. unos na karti
Map.entry je a Java sučelje java.util. Ima ugniježđeno sučelje u mapi. Ovo sučelje mora biti kvalificirano imenom klase ili sučelja čiji je član. Stoga se kvalificira kao karta. Ulazak. Predstavlja par ključa i vrijednosti koji može činiti element karte.
Ova metoda vraća prikaz zbirke. Na primjer, cityMap smatrajte kartom. Programer može upotrijebiti entrySet() da dobije skupni prikaz karte koja ima element Map.Entry. Programer također može koristiti getKey() i getValue() Map.Entry da bi dobio par ključa i vrijednosti mape.
65) Koja metoda se koristi za sortiranje niza u rastućem redoslijedu?
Java okvirna metoda zbirke, Collections.sort() se koristi za sortiranje niza uzlaznim redoslijedom.
66) Kako izmjeriti izvedbu ArrayList-a?
Učinkovitost ArrayList-a može se mjeriti prema:
- Dodavanje elementa: Programer može dodati element na kraj ArrayList koristeći metodu add(E e). To je O(1). U najgorem scenariju, moglo bi ići na O(n). To se može dogoditi ako programer doda više elemenata od kapaciteta polja.
- Dohvaćanje elementa: Programer može pristupiti indeksu polja koristeći get(int index). Izvedba se u ovom slučaju može mjeriti pomoću ArrayList get() je O(1).
- Uklanjanje elementa: U slučaju, ako programeri uklanjaju element koristeći remove(int index), tada se izvedba ArrayList-a može izračunati korištenjem navedene operacije remove(int index) O(n – index) metode.
67) Objasnite klasu LinkedList
LinkedList klasa u Java implementira Deque i List koristeći dvostruko povezanu listu. Postoji privatni čvor klase u dvostruko povezanom popisu koji pruža njegovu strukturu. Također ima varijablu stavke za držanje vrijednosti i referencu na klasu čvora. Ovo se može koristiti za povezivanje sljedećeg i prethodnog čvora.
68) Navedite primjer Hashmapa
Primjer Hashmapa je:
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) Kako ponoviti mapu?
Programer ne može izravno ponavljati mapu, ali ovo sučelje ima dvije metode koje daju prikaz skupa karte. Ove metode su:
- set >entrySet(): To je metoda koja vraća skup koji ima unose spomenute u mapi. Ovi unosi se općenito prigovaraju, što ima tip Karta. Ulazak.
- set ključSet(): Ova Java metoda vraća skup koji ima ključ karte.
70) Objasnite Treemap u Java
TreeMap je klasa koja implementira Map sučelje LinkedHashMap i HashMap. Također može implementirati sučelje NavigableMap i može proširiti klasu AbstractMap.
71) Koja je razlika između Hashmapa i Hashtablea?
Hashmap | Raspršena tablica |
---|---|
Nije sinkroniziran. | Sinkroniziran je. |
HashMap dopušta jedan ključ kao nultu vrijednost. | HashTable ne dopušta nulte vrijednosti. |
Iterator se koristi za prelaženje HashMapa. | Iterator ili Enumerator koriste se za prolazak kroz HashTable. |
Može se koristiti i za HashTable i za HashMap te je brz. | Može se koristiti s HashTableom i siguran je. |
HashMap radi brže od HashTablea. | Hashtable nije mnogo brži u usporedbi s HashMapom. |
72) Objasnite interni rad HashSeta u Java
HashSet in Java interno koristi HashMap za pohranu elemenata. Također može pohraniti jedinstvene vrijednosti bez dupliciranih vrijednosti.
In Java, HashSet programer može imati add(E e) metodu koja uzima samo element za dodavanje kao parametar. Ne prihvaća par ključa i vrijednosti.
73) Objasnite Big-O zapis na primjeru
Big-O notacija opisuje izvedbu algoritma kao broj elemenata u ArrayList. Programer može koristiti Big-O notaciju za odabir implementacije zbirke. Temelji se na učinku, vremenu i pamćenju.
Na primjer, ArrayList get(index i) je metoda za izvođenje operacije u konstantnom vremenu. Ne ovisi o ukupnom broju elemenata dostupnih na popisu. Stoga je izvedba u zapisu Big-O O(1).
74) Objasnite najbolje prakse u Java Okvir za prikupljanje
Najbolje prakse u Java Okvir prikupljanja su:
- Odabir odgovarajuće vrste zbirke ovisi o potrebi.
- Izbjegavajte ponovno iscrtavanje ili promjenu veličine procjenom ukupnog broja elemenata koji će biti pohranjeni u klasama zbirke.
- Napiši a Java programa u smislu sučelja. To će pomoći razvojnom programeru da u budućnosti bez napora promijeni svoju implementaciju.
- Programer može koristiti Generics za sigurnost tipa.
- Koristite nepromjenjive klase koje daje Java Komplet za razvoj. Izbjegavajte implementaciju equals() i hashCode() za prilagođene klase.
- Programer bi trebao koristiti klasu uslužnog programa Collections za algoritme ili da dobije zbirke samo za čitanje, sinkronizirane ili prazne zbirke. Ovo će poboljšati mogućnost ponovne upotrebe koda uz nisku mogućnost održavanja.
75) Objasnite razne vrste redova u Java
Postoje tri vrste čekanja u redu Java:
- Prioritetni red: To je posebna vrsta reda u kojem su elementi sortirani prema svom prirodnom redoslijedu ili prema prilagođenom usporedniku.
- Kružni red: To je vrsta Queuea u kojem se korisničke operacije izvode na temelju FIFO metode. Posljednji element je spojen na prvu poziciju kako bi se napravio krug.
- Double-završen red čekanja: Dvostruki red čekanja je apstraktni tip podataka koji generalizira red čekanja. Elementi u ovom redu mogu se dodati ili ukloniti iz glave ili repa.
76) Koja je razlika između hrpe i reda?
Stog | Red |
---|---|
Princip rada steka je LIFO. | Princip rada reda čekanja je FIFO. |
Jedan kraj se koristi za izvođenje umetanja ili brisanja elemenata. | Jedan kraj služi za umetanje, a drugi za brisanje elemenata. |
Koristi jedan pokazivač. | Koristi dva pokazivača u jednostavnom redu čekanja. |
Nema nikakvu varijantu. | Ima varijante kao što su prioritetni red čekanja, kružni red čekanja, dvostruko završeni red čekanja. |
Jednostavan je za upotrebu. | Nije ga lako koristiti. |
77) Koja je razlika između niza i stoga?
Razlika između niza i stoga je:
Poredak | Stog |
---|---|
To je skup elemenata koji su identificirani indeksom. | To je operacija prikupljanja koja služi kao operacije push i pop. |
Ima elemente tipova podataka koji su isti. | Ima elemente tipova podataka koji su različiti. |
Elementi se mogu ukloniti ili dodati u niz korištenjem operacije nasumičnog pristupa. | Elementi se mogu ukloniti ili dodati u stog pomoću LIFO operacije. |
78) Definirajte Iterator()
Iterator() je sučelje koje pruža metode za ponavljanje zbirke. Iterator može zauzeti mjesto Enumerationa Java. Pozivatelju omogućuje uklanjanje elemenata iz zbirke. Metoda pruža generički način za obilaženje koristeći elemente kolekcije i implementirajući obrazac dizajna iteratora.
79) Koji su različiti načini ponavljanja preko liste?
Java zbirka Okvirni programer može iterirati preko liste na dva načina: 1) koristeći iterator, i 2) koristeći ga za svaki petlja.
80) Koje su prednosti steka?
Prednosti steka su:
- Pomaže vam u upravljanju podacima metodom Last In First Out (LIFO), što nije moguće s povezanim popisom i nizom.
- Kada se funkcija pozove, lokalne varijable pohranjuju se u stog i automatski se uništavaju kada se vrate.
- Stog se koristi kada se varijabla ne koristi izvan te funkcije.
- Omogućuje vam da kontrolirate kako se memorija dodjeljuje i oslobađa.
- Stack automatski čisti objekt.
- Nije lako pokvariti
- Varijable ne može se promijeniti veličina.
Ova pitanja za intervju također će vam pomoći u vašem životu