80 Java Kolekcje Wywiad Pytania i odpowiedzi (2026)
Java Kolekcje Pytania i odpowiedzi do wywiadu dla nowicjuszy
1) W czym jest framework Java?
Framework to popularna i gotowa architektura zawierajฤ ca zestaw klas i interfejsรณw.
2) W czym jest framework Collection Java?
Collection Framework to grupaping Zestaw klas i interfejsรณw sลuลผฤ cy do przechowywania i zarzฤ dzania obiektami. Zawiera rรณลผne klasy, takie jak Vector, ArrayList, HashSet, Stack itp. Java Framework kolekcji moลผe byฤ rรณwnieลผ uลผywany do interfejsรณw takich jak Queue, Set, List itp.
3) Wyjaลnij klasฤ Kolekcje
java.util.Collections to klasa skลadajฤ ca siฤ ze statycznych metod, ktรณre dziaลajฤ na kolekcjach. Zawiera ona polimorficzne algorytmy do dziaลania na kolekcjach, โwrapperyโ. Ta klasa zawiera metody dla algorytmรณw, takich jak sortowanie binarne, wyszukiwanie, tasowanie itp.
4) Co to jest hash?Code()?
haszyszCode() to metoda zwracajฤ
ca kod skrรณtu bฤdฤ
cy liczbฤ
caลkowitฤ
.
5) Rozrรณลผnij ArrayList i Vector w Java ramy kolekcji.
| ArrayList | wektor |
|---|---|
| Nie moลผna zsynchronizowaฤ ArrayList. | Wektor moลผe byฤ zsynchronizowany. |
| To nie jest przestarzaลa klasa. | To przestarzaลa klasa. |
| Moลผe zwiฤkszyฤ swรณj rozmiar o 50% rozmiaru tablicy. | Moลผe zwiฤkszyฤ swรณj rozmiar, podwajajฤ c rozmiar tablicy. |
| ArrayList nie jest bezpieczny dla wฤ tkรณw. | Vector jest bezpieczny dla wฤ tkรณw. |
6) W czym jest ArrayList Java?
ArrayList to struktura danych, ktรณrฤ moลผna rozciฤ gnฤ ฤ, aby pomieลciฤ w sobie dodatkowe elementy i zmniejszyฤ jฤ do mniejszego rozmiaru po usuniฤciu elementรณw. Jest to bardzo waลผna struktura danych, przydatna w obsลudze dynamicznego zachowania elementรณw.
7) Rozrรณลผnij Iterator i ListIterator
Rรณลผnica miฤdzy Iteratorem a ListIteratorem jest:
| iteratory | ListIterator |
|---|---|
| Iterator moลผe przechodziฤ przez elementy tablicy w kierunku do przodu. | ListIterator moลผe przeglฤ daฤ elementy tablicy zarรณwno w przรณd, jak i w tyล. |
| Moลผna go uลผywaฤ w kolejce, liลcie i zestawie. | Moลผna go uลผywaฤ na liลcie. |
| Moลผna wykonaฤ tylko operacjฤ usuniฤcia. | Moลผe wykonywaฤ operacje dodawania, usuwania i ustawiania podczas przeglฤ dania kolekcji. |
8) Jaka jest rรณลผnica miฤdzy iteratorem a wyliczeniem?
Rรณลผnica miฤdzy iteratorem a wyliczeniem
| iteratory | Wyliczenie |
|---|---|
| Iterator moลผe przechodziฤ zarรณwno przez starsze, jak i niestare elementy. | Wyliczenie moลผe przechodziฤ tylko starsze elementy. |
| Iterator jest niezawodny. | Wyliczenie nie jest niezawodne. |
| Iterator jest bardzo powolny w porรณwnaniu do wyliczenia. | Wyliczenie jest szybkie w porรณwnaniu do Iteratora. |
| Iterator moลผe wykonywaฤ operacje usuwania podczas przechodzenia przez kolekcjฤ. | Enumeracja moลผe wykonywaฤ wyลฤ cznie operacje przeglฤ dania kolekcji. |
9) Zdefiniuj kolejkฤ blokujฤ cฤ
BlockingQueue to interfejs uลผywany w Java ktรณry moลผe rozszerzyฤ kolejkฤ. Zapewnia wspรณลbieลผnoลฤ w rรณลผnych operacjach kolejki, takich jak pobieranie, wstawianie, usuwanie itp.
Kolejka czeka, aลผ stanie siฤ niepusta w momencie pobrania jakichkolwiek elementรณw. BlockingQueue nie powinna zawieraฤ elementรณw null. Implementacja tej kolejki jest bezpieczna dla wฤ tkรณw.
Skลadnia BlockingQueue jest nastฤpujฤ ca:
public interface BlockingQueue<E> extends Queue <E>
10) Wyjaลnij metodฤ override rรณwnoลci().
Metoda rรณwnoลci sลuลผy do sprawdzania podobieลstwa miฤdzy dwoma obiektami. W przypadku, gdy programista chce sprawdziฤ obiekt na podstawie wลaลciwoลci, naleลผy go przesลoniฤ.
11) Jaka jest rรณลผnica miฤdzy porรณwnywalnym a porรณwnywalnym?
Rรณลผnica miฤdzy porรณwnywalnym a porรณwnawczym jest nastฤpujฤ ca:
| Porรณwnywalny z: | Komparator |
|---|---|
| Comparable zapewnia metodฤ CompareTo() do sortowania elementรณw Java. | Komparator udostฤpnia metodฤ Compare() do sortowania elementรณw Java. |
| Porรณwnywalny interfejs wystฤpuje w pakiecie java.lang. | Interfejs komparatora jest obecny w Javie. pakiet uลผytkowy. |
| Logika sortowania musi naleลผeฤ do tej samej klasy, ktรณrej obiekt chcesz sortowaฤ. | Logika sortowania powinna znajdowaฤ siฤ w osobnej klasie, aby pisaฤ rรณลผne sortowanie w oparciu o rรณลผne atrybuty obiektรณw. |
| Klasa, ktรณrej obiekty chcesz posortowaฤ, musi implementowaฤ porรณwnywalny interfejs. | Klasa, ktรณrej obiekty chcesz sortowaฤ, nie musi implementowaฤ interfejsu komparatora. |
| Zapewnia pojedyncze sekwencje sortowania. | Zapewnia wiele sekwencji sortowania. |
| Ta metoda umoลผliwia sortowanie danych zgodnie z naturalnym porzฤ dkiem sortowania. | Ta metoda sortuje dane zgodnie z niestandardowฤ kolejnoลciฤ sortowania. |
| Wpลywa na oryginalnฤ klasฤ. tj. rzeczywista klasa zostaje zmieniona. | Nie ma to wpลywu na pierwotnฤ klasฤ, tj. rzeczywista klasa nie ulega zmianie. |
| Czฤsto implementowane w interfejsie API przez klasy Calendar, Wrapper, Date i String. | Jest zaimplementowany do sortowania instancji klas innych firm. |
| Wszystkie klasy opakowania i klasa String implementujฤ porรณwnywalny interfejs. | Jedynymi zaimplementowanymi klasami Comparatora sฤ Collator i RuleBasedColator. |
12) Wyjaลnij funkcjฤ rรณwnoลci() na przykลadzie
Equals() sprawdza, czy obiekt liczbowy jest rรณwny obiektowi, ktรณry jest przekazywany jako argument, czy nie.
Skลadnia metody rรณwnoลci() jest nastฤpujฤ ca:
public boolean equals(Object o)
Ta metoda przyjmuje dwa parametry: 1) dowolny obiekt, 2) zwracanฤ wartoลฤ. Zwraca wartoลฤ true, jeลli przekazany argument nie ma wartoลci null i jest obiektem podobnego typu majฤ cym tฤ samฤ wartoลฤ liczbowฤ .
Przykลad:
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) Wymieล zalety kolekcji generycznej
Korzyลci z uลผywania kolekcji ogรณlnej to:
- Jeลli programiลci uลผywajฤ klasy ogรณlnej, nie wymagajฤ rzutowania.
- Jest bezpieczny dla typu i moลผna go sprawdziฤ w czasie kompilacji.
- Zapewnia stabilnoลฤ kodu poprzez wykrywanie bลฤdรณw w czasie kompilacji.
14) Wyjaลnij metodฤ konwersji ArrayList na Array i Array na ArrayList
Programiลci mogฤ konwertowaฤ tablicฤ Array na ArrayList za pomocฤ metody asList() klasy Arrays. Jest to statyczna metoda klasy Arrays akceptujฤ ca obiekt List. Skลadnia metody asList() jest nastฤpujฤ ca:
Arrays.asList(item)
Java programiลci mogฤ przekonwertowaฤ ArrayList na obiekt List, uลผywajฤ c skลadni:
List_object.toArray(new String[List_object.size()])
15) Podaj przykลad ArrayList
Przykลadem odwrotnej ArrayList jest:
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) Podaj przykลad sortowania tablicy w kolejnoลci malejฤ cej
Przykลad sortowania tablicy w kolejnoลci malejฤ cej:
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) Wyjaลnij podstawowe interfejsy programu Java ramy kolekcji
Java struktura kolekcji jest korzeniem hierarchii kolekcji. Reprezentuje grupฤ obiektรณw jako jej elementy. The Java jฤzyk programowania nie zapewnia bezpoลredniej implementacji takiego interfejsu.
- Ustaw: Zestaw to kolekcja nie posiadajฤ ca zduplikowanych elementรณw. Uลผywa hashtable do przechowywania elementรณw.
- Lista: Lista jest uporzฤ dkowanฤ kolekcjฤ , ktรณra moลผe zawieraฤ zduplikowane elementy. Umoลผliwia programistom dostฤp do dowolnych elementรณw ze swojej skrzynki odbiorczej. Lista jest jak tablica o dynamicznej dลugoลci.
- MAPA: Jest to obiekt mapujฤ cy klucze na wartoลci. Nie moลผe zawieraฤ duplikatรณw kluczy. Kaลผdy klucz moลผna przypisaฤ do co najmniej jednej wartoลci.
18) Jakie sฤ cechy Java Hashmapa?
Cechy Java Hashmapa naleลผฤ :
- Wartoลci moลผna przechowywaฤ na mapie, tworzฤ c parฤ klucz-wartoลฤ. Wartoลฤ moลผna pobraฤ za pomocฤ klucza przekazujฤ c jฤ do wลaลciwej metody.
- Jeลli na mapie nie istnieje ลผaden element, zostanie zgลoszony wyjฤ tek โNoSuchElementExceptionโ.
- HashMap przechowuje tylko odniesienia do obiektรณw. Dlatego nie moลผna uลผywaฤ prymitywnych typรณw danych, takich jak double lub int. Uลผyj klasy opakowujฤ cej (takiej jak Integer lub Double) zamiast.
19) Co to jest stos?
Stos to specjalny obszar pamiฤci komputera, w ktรณrym przechowywane sฤ zmienne tymczasowe utworzone przez funkcjฤ. Na stosie zmienne sฤ deklarowane, przechowywane i inicjowane w czasie wykonywania.
20) Co to jest lista poลฤ czona?
Lista poลฤ czona to struktura danych, w ktรณrej moลผna przechowywaฤ kolekcjฤ elementรณw. Innymi sลowy, list poลฤ czonych moลผna uลผywaฤ do przechowywania kilku obiektรณw tego samego typu. Kaลผda jednostka lub element listy nazywany jest wฤzลem. Wฤzeล na liลcie Poลฤ czonych ma swoje dane i adres nastฤpnego wฤzลa. To jest jak ลaลcuch. Listy poลฤ czone sลuลผฤ do tworzenia wykresรณw i drzew.
Java Kolekcje Wywiad Pytania i odpowiedzi dla doลwiadczonych
21) Podaj przykลad ArrayList
Przykลad ArrayList to:
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) Wyjaลnij listฤ powiฤ zanฤ obsลugiwanฤ przez Java
Obsลugiwane sฤ dwa typy list poลฤ czonych Java naleลผฤ :
- Lista pojedynczo poลฤ czona: Lista pojedynczo poลฤ czona jest rodzajem struktury danych. Na liลcie z pojedynczym ลฤ czem kaลผdy wฤzeล na liลcie przechowuje zawartoลฤ wฤzลa oraz odniesienie lub wskaลบnik do nastฤpnego wฤzลa na liลcie. Nie przechowuje ลผadnego odniesienia ani wskaลบnika do poprzedniego wฤzลa.
- Podwรณjnie poลฤ czone listy: Listy podwรณjnie poลฤ czone to specjalny typ list poลฤ czonych, w ktรณrym przechodzenie pomiฤdzy elementami danych moลผe odbywaฤ siฤ w obu kierunkach. Jest to moลผliwe dziฤki dwรณm poลฤ czeniom w kaลผdym wฤลบle, jednemu prowadzฤ cemu do nastฤpnego wฤzลa i drugiemu ลฤ czฤ cemu siฤ z poprzednim wฤzลem.
23) Wyjaลnij metody udostฤpniane przez interfejs Queue?
Metody Java Interfejs kolejki to:
| Metoda wykonania | OPIS |
|---|---|
| wartoลฤ logiczna dodaj (obiekt) | Wstawia okreลlony element do kolejki. Zwraca wartoลฤ true w przypadku powodzenia. |
| oferta logiczna (obiekt) | Ta metoda sลuลผy do wstawiania elementu do kolejki. |
| Usuล obiekt () | Pobiera i usuwa nagลรณwek kolejki. |
| Sonda obiektu () | (): Pobiera i usuwa nagลรณwek kolejki lub zwraca wartoลฤ null w przypadku, gdy jest pusta. |
| Sonda obiektu () | Pobiera i usuwa nagลรณwek kolejki lub zwraca wartoลฤ null w przypadku, gdy jest pusta. |
| Element obiektu () | Pobiera dane z kolejki, ale nie usuwa jej gลowy. |
| Podglฤ d obiektu () | Pobiera dane z kolejki, ale nie usuwa jej gลowy lub w przypadku, gdy kolejka jest pusta, pobiera wartoลฤ null. |
24) Wspomnij o metodach udostฤpnianych przez klasฤ Stack
Waลผne metody udostฤpniane przez klasฤ Stack to:
- naciskaฤ(): Wลรณลผ przedmiot do stosu.
- pusty (): Ta metoda sprawdza, czy stos jest pusty, czy nie.
- Muzyka pop (): Ten Java Metoda frameworka kolekcji usuwa obiekt ze stosu.
- szukaj (): Ta metoda przeszukuje elementy na stosie.
- zerknij (): Ten Java Metoda sprawdza obiekt stosu bez jego usuwania.
25) Zdefiniuj pustySet() w pliku Java ramy kolekcji
Metoda pustySet(), ktรณra zwraca pusty, niezmienny zbiรณr za kaลผdym razem, gdy programiลci prรณbujฤ usunฤ ฤ elementy zerowe. Zestaw zwracany przez pustySet() moลผna serializowaฤ. Skลadnia tej metody jest nastฤpujฤ ca:
publiczny statyczny finaล Ustawiฤ pustyZestaw()
26) Rozrรณลผnij kolekcjฤ od kolekcji
Rรณลผnica miฤdzy kolekcjฤ a kolekcjami to:
| โ | Kategorie |
|---|---|
| Kolekcja jest interfejsem. | Kolekcje to klasa. |
| Reprezentuje grupฤ obiektรณw jako pojedynczฤ caลoลฤ. | Definiuje rรณลผne metody uลผytecznoลci dla obiektรณw kolekcji. |
| Kolekcja jest gลรณwnym interfejsem Java Ramy kolekcji. | Kolekcje to ogรณlna klasa uลผytecznoลci. |
| Interfejs ten sลuลผy do wyprowadzania struktur danych kolekcji. | Ta klasa zawiera metody statyczne do manipulowania strukturฤ danych. |
27) Zdefiniuj LinkedHashSet w pliku Java Ramy kolekcji?
LinkedHashSet jest podklasฤ klasy o nazwie HashSet i implementuje interfejs set. Jest to dobrze uporzฤ dkowana wersja HashSet, ktรณra utrzymuje podwรณjnie poลฤ czonฤ listฤ we wszystkich swoich elementach.
28) Jaka jest rรณลผnica miฤdzy funkcjฤ Failfast a Failsafe?
| Bezawaryjnoลฤ | Failsafe |
|---|---|
| Nie pozwala na modyfikacjฤ kolekcji podczas iteracji. | Umoลผliwia modyfikacjฤ kolekcji podczas iteracji. |
| Moลผe zgลosiฤ wyjฤ tek ConcurrentModificationException | Nie moลผe zgลosiฤ ลผadnego wyjฤ tku. |
| Uลผywa oryginalnej kolekcji do przeglฤ dania elementรณw. | Do przeglฤ dania elementรณw wykorzystuje oryginalnฤ kopiฤ kolekcji. |
| Nie ma wymogu posiadania dodatkowej pamiฤci. | Wymagana jest dodatkowa pamiฤฤ. |
29) Widoki kolekcji list interfejsu mapy
Widoki kolekcji interfejsu mapy to: 1) widok zestawu kluczy, 2) widok zestawu wartoลci i 3) widok zestawu wpisรณw.
30) Jakie sฤ korzyลci ze stosowania Ram Kolekcji w Java?
Korzyลci z Collection Framework w Java naleลผฤ :
- Java Framework zbierania danych oferuje wysoce wydajne i efektywne struktury danych, ktรณre zwiฤkszajฤ dokลadnoลฤ i szybkoลฤ programu.
- Program opracowany przy uลผyciu Java Struktura kolekcji jest ลatwa w utrzymaniu.
- Programista moลผe mieszaฤ klasy z innymi typami, co zwiฤksza moลผliwoลฤ ponownego uลผycia kodu.
- Java framework kolekcji umoลผliwia programistom modyfikowanie pierwotnych typรณw kolekcji wedลug wลasnego uznania.
31) Jaki jest dobry sposรณb sortowania obiektรณw kolekcji Java?
Dobry sposรณb na sortowanie Java obiekty kolekcji korzystajฤ z interfejsรณw Comparable i Comparator. Programista moลผe uลผyฤ Collections.sort(), elementy sฤ sortowane na podstawie kolejnoลci podanej w CompareTo().
Kiedy programista uลผywa Collections, sort (Komparator), sortuje obiekty w zaleลผnoลci od funkcji Compare() interfejsu Comparator.
32) Wyjaลnij wektor w Java
Wektor jest taki sam jak tablica. Zawiera komponenty, do ktรณrych moลผna uzyskaฤ dostฤp za pomocฤ wartoลci indeksu. Wektory mogฤ zawieraฤ starszฤ metodฤ, ktรณra nie jest czฤลciฤ struktury kolekcji.
33) Jaka jest rรณลผnica pomiฤdzy Setem a Mapฤ ?
| Zestaw | Mapa |
|---|---|
| Zestaw naleลผy do package-java.util. | Mapa naleลผy do pakietu java.util. |
| Moลผe rozszerzyฤ interfejs kolekcji. | Nie rozszerza interfejsu kolekcji. |
| Nie pozwala na powielanie wartoลci. | Pozwala na zduplikowanie wartoลci. |
| Zestaw moลผe sortowaฤ tylko jednฤ wartoลฤ null. | Mapa moลผe sortowaฤ wiele wartoลci null. |
34) Zdefiniuj klasฤ sลownika
Klasa Dictionary to a Java klasa, ktรณra ma moลผliwoลฤ przechowywania par klucz-wartoลฤ.
35) Zdefiniuj zestaw wyliczeniowy
java.util.EnumSet to implementacja Set, ktรณrej moลผna uลผywaฤ z typami wyliczeniowymi. EnumSet majฤ cy wszystkie elementy musi pochodziฤ z jednego typu wyliczeniowego okreลlonego jawnie lub niejawnie. Nie jest zsynchronizowany, a takลผe nie sฤ dozwolone klucze null. EnumSet udostฤpnia metody takie jak EnumSetof(E first, Eโฆ rest), supplementOf(EnumSet s) i copyOf(Collection c).
36) Jakie sฤ dwa sposoby usuniฤcia duplikatรณw z ArrayList?
Dwa sposoby usuwania duplikatรณw z ArrayList to:
- Zestaw skrรณtรณw: Programista moลผe uลผyฤ HashSet, aby usunฤ ฤ zduplikowany element z ArrayList. Wadฤ jest to, ลผe nie moลผna zachowaฤ kolejnoลci wstawiania.
- Poลฤ czony zestaw Hash: Programiลci mogฤ rรณwnieลผ zachowaฤ kolejnoลฤ wstawiania, uลผywajฤ c LinkedHashSet zamiast HashSet.
37) Co to jest IdentityHashMap?
IdentityHashMap to klasa implementujฤ ca interfejsy Serializable i Clonable, Map i rozszerzajฤ ca AbstracKlasa tMap. Jest przeznaczona do zastosowaล, w ktรณrych zachodzi potrzeba semantyki rรณwnoลci referencyjnej.
38) Co to jest WeakHashMap?
WeakHashMap jest implementacjฤ Java Mapa. Sลuลผy do przechowywania sลabych odniesieล do swoich kluczy. Sortowanie za pomocฤ tej mapy umoลผliwia zbieranie pary klucz-wartoลฤ jako ลmieci. Do jego klucza nie ma odniesienia poza WeakHashMap.
39) Jakie sฤ metody zapewnienia bezpieczeลstwa wฤ tkรณw kolekcji?
Metody zapewnienia bezpieczeลstwa wฤ tku kolekcji to:
- Kolekcje.synchronizedList(list);
- Kolekcje.synchronizedMap(mapa);
- Kolekcje.synchronizedSet(zestaw);
40) Wyjaลnij, ลผe nie jest obsลugiwanyOperawyjฤ tek
NieobsลugiwaneOperationException to wyjฤ tek, ktรณry jest zgลaszany dla metod, ktรณre nie sฤ obsลugiwane przez rzeczywisty typ kolekcji.
Na przykลad programista tworzy listฤ tylko do odczytu, uลผywajฤ c โCollections.unmodibleList(list)โ i wywoลujฤ c metodฤ call(), add() lub Remove(). Powinien wyraลบnie zgลosiฤ komunikat NieobsลugiwaneOperawyjฤ tek.
41) Nazwij klasy kolekcji, ktรณre dajฤ elementowi losowemu dostฤp do jego elementรณw
Klasy kolekcji, ktรณre dajฤ losowy dostฤp do jego elementรณw, to: 1) ArrayList, 2) HashMap, 3) TreeMap i 4) Hashtable.
42) Wyjaลnij rรณลผnicฤ pomiฤdzy Queue i Deque.
| kolejka | W zwiฤ zku z tym |
|---|---|
| Nazywa siฤ to kolejkฤ jednokoลczonฤ | Nazywa siฤ to kolejkฤ dwustronnฤ |
| Elementy w kolejce sฤ dodawane lub usuwane z jednego koลca | Elementy w kolejce dodawane z obu koลcรณw moลผna dodawaฤ i usuwaฤ z obu koลcรณw |
| Jest mniej uniwersalny. | Jest bardziej wszechstronny. |
43) Wspomnij o implementujฤ cym interfejsie List i Set
Interfejs listy implementujฤ cej klasฤ: 1) ArrayList, 2) Vector i 3) LinkedList.
Interfejs klasy implementujฤ cy zestaw: 1) HashSet i 2) TreeSet.
44) Wyjaลnij wzorzec projektowy, po ktรณrym nastฤpuje Iterator
Iterator podฤ ลผa za szczegรณลami wzorca projektowego iteratora. Umoลผliwia programistom nawigacjฤ po kolekcjach obiektรณw za pomocฤ wspรณlnego interfejsu bez znajomoลci jego implementacji.
45) Co to jest funkcja peek() interfejsu kolejki?
Peek() to metoda interfejsu kolejki. Pobiera wszystkie elementy, ale nie usuwa nagลรณwka kolejki. W przypadku, gdy kolejka jest pusta, ta metoda zwrรณci wartoลฤ null.
46) Co to jest CopyOnWriteArrayList?
CopyOnWriteArrayList to odmiana ArrayList, w ktรณrej operacje takie jak add i set sฤ implementowane przez tworzenie kopii tablicy. Jest ona bezpieczna dla wฤ tkรณw, a zatem nie rzuca wyjฤ tku ConcurrentModificationException. Ta ArrayList zezwala na wszystkie elementy, w tym null.
47) Rozrรณลผnij ArrayList od LinkedList
Rรณลผnica miฤdzy ArrayList i LinkedList jest nastฤpujฤ ca:
| ArrayList | Poลฤ czona lista |
|---|---|
| Wykorzystuje tablicฤ dynamicznฤ . | Uลผywa listy podwรณjnie poลฤ czonej. |
| ArrayList nie jest preferowany do manipulacji. | LinkedList jest preferowany do manipulacji. |
| ArrayList zapewnia losowy dostฤp. | LinkedList nie zapewnia losowego dostฤpu. |
| ArrayList s przechowuje tylko obiekty, dlatego zajmuje mniej pamiฤci | LinkedList przechowuje obiekt i adres; dlatego wymaga wiฤkszego obciฤ ลผenia pamiฤci. |
48) Wyjaลniฤ metody interfejsu iteratora
Metody interfejsu iteratora to:
| Metoda wykonania | OPIS |
|---|---|
| publiczna wartoลฤ logiczna hasNext() | Zwraca wartoลฤ true, jeลli iterator ma elementy; w przeciwnym razie zwraca wartoลฤ false. |
| Obiekt publiczny nastฤpny() | Ta metoda zwraca element i przesuwa wskaลบnik do nastฤpnej wartoลci. |
| publiczne uniewaลผnienie usuล() | Ten Java metoda moลผe usunฤ ฤ ostatnie elementy zwrรณcone przez iterator. Publiczna metoda usuwania prรณลผni () jest rzadziej uลผywana. |
49) Jakie sฤ metody klasy HashSet?
Metody klasy HashSet to:
| Metody | OPIS |
|---|---|
| wartoลฤ logiczna dodaj (obiekt o) | Ta metoda dodaje element wzmianki do tego zestawu, jeลli jeszcze go nie ma. |
| wartoลฤ logiczna zawiera (obiekt o): | Zwraca wartoลฤ true, jeลli zestaw zawiera okreลlony element. |
| puste jasne(): | Ta metoda usuwa ustawione elementy. |
| wartoลฤ logiczna jest pusta(): | Zwraca wartoลฤ true w przypadku, gdy zbiรณr nie zawiera elementรณw. |
| wartoลฤ logiczna usuล (obiekt o): | Usuwa okreลlony element ze zbioru. |
| klon obiektu(): | Ta metoda zwraca kopiฤ instancji HashSet: same elementy nie sฤ klonowane. |
| iterator iterator() | Zwraca iterator po elementach w tym zestawie. |
| rozmiar int(): | Zwraca liczbฤ elementรณw dostฤpnych w zestawie. |
50) Jakie sฤ metody Java Klasa TreeSet?
Metody Java Klasa TreeSet to:
| Metody | Descriptjony |
|---|---|
| boolean addAll (kolekcja c) | Dodaj wszystkie elementy z okreลlonej kolekcji do tego zestawu. |
| boolean zawiera (obiekt o) | Zwraca wartoลฤ true, jeลli zestaw zawiera element wzmianki. |
| boolean isEmpty () | Ten Java metoda zwraca wartoลฤ true, jeลli ten zestaw nie zawiera ลผadnych elementรณw. |
| boolean remove (Object o) | Usuล okreลlony element ze zbioru. |
| uniewaลผnij dodanie (obiekt o) | Dodaje okreลlony element do zestawu. |
| void clear () | Ten Java metoda usuwa wszystkie elementy ze zbioru. |
51) Wyjaลnij poลฤ czony zestaw hashset
Java Klasa LinkedHashSet to implementacja listy poลฤ czonej i tabeli Hash interfejsu Set. Zawiera unikalne elementy takie same jak HashSet. Poลฤ czony HashSet in Java zapewnia rรณwnieลผ opcjonalne operacje na zbiorach, ktรณre mogฤ zachowaฤ kolejnoลฤ wstawiania.
52) Jakie sฤ waลผne metody stosowane w liลcie poลฤ czonej?
Waลผne metody stosowane na liลcie poลฤ czonej to:
| Metoda wykonania | OPIS |
|---|---|
| wartoลฤ logiczna dodaj (obiekt o) | Sลuลผy do doลฤ czenia okreลlonego elementu na koลcu wektora. |
| boolean zawiera (obiekt o) | Jest to metoda zwracajฤ ca wartoลฤ true, jeลli lista zawiera okreลlony element. |
| void add (indeks int, element obiektu) | Wstawia element w okreลlonym elemencie wektora. |
| void addFirst (obiekt o) | Sลuลผy do wstawienia danego elementu na poczฤ tku. |
| void addLast(Obiekt o) | Sลuลผy do doลฤ czenia danego elementu na koลcu. |
| Rozmiar caลkowity() | Tej metody moลผna uลผyฤ do zwrรณcenia caลkowitej liczby elementรณw na liลcie. |
| boolean remove (Object o) | Moลผe usunฤ ฤ pierwsze wystฤ pienie okreลlonego elementu z tej listy. |
| int indeksOf(Element obiektu) | Ten Java metoda zwraca indeks z pierwszym wystฤ pieniem elementu wzmianki na tej liลcie, lub -1. |
| int lastIndexOf (element obiektu) | Jest Java metoda zwracajฤ ca indeks z ostatnim wystฤ pieniem okreลlonego elementu na tej liลcie, lub -1. |
53) Wymieล rรณลผne klasy dostฤpne w zestawach
Rรณลผne klasy dostฤpne w zestawach to: HashSet, TreeSetand i LinkedHashSet.
54) Wymieล metody dostฤpne w Java Interfejs kolejki
- wartoลฤ logiczna dodaj (obiekt)
- oferta logiczna (obiekt)
- usuล obiekt()
- ankieta obiektu()
- element obiektu()
- podglฤ d obiektu()
55) Rozrรณลผnij listฤ od zestawu.
| Lista | Zestaw |
|---|---|
| Uporzฤ dkowany zbiรณr elementรณw | Nieuporzฤ dkowany zbiรณr elementรณw |
| Zachowuje kolejnoลฤ wstawiania | Nie zachowuje kolejnoลci wstawiania |
| Dozwolone sฤ zduplikowane wartoลci | Zduplikowane wartoลci sฤ niedozwolone |
| Moลผna zapisaฤ dowolnฤ liczbฤ wartoลci null | Moลผna przechowywaฤ tylko jednฤ wartoลฤ null |
| ListIterator moลผe sลuลผyฤ do poruszania siฤ po liลcie w dowolnym kierunku | ListIterator nie moลผe byฤ uลผywany do przeglฤ dania zestawu |
| Zawiera starszฤ klasฤ zwanฤ wektorem | Nie zawiera ลผadnej starszej klasy |
Java Pytania i odpowiedzi dotyczฤ ce wywiadรณw dotyczฤ cych kolekcji dotyczฤ ce ponad 5-letniego doลwiadczenia
56) Wyjaลnij kaลผdฤ pฤtlฤ na przykลadzie
Pฤtla For-Each jest innฤ formฤ pฤtli for uลผywanฤ do przeglฤ dania tablicy. Zmniejsza to znacznie kod i nie ma potrzeby stosowania indeksu, a raczej licznika w pฤtli.
Przykลad dla kaลผdej pฤtli:
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) Wyjaลnij operator diamentowy
Operator Diamond umoลผliwia kompilatorowi zbieranie argumentรณw typu klasy generycznej. W Java W SE programista moลผe zastฤ piฤ sparametryzowany konstruktor pustym zestawem parametrรณw (<>) znanym jako operator diamentowy.
58) Wyjaลnij interfejs dostฤpu swobodnego
Interfejs RandomAccess jest uลผywany przez implementacje List w celu wskazania, ลผe โโobsลugujฤ one szybko.
59) Nazwij klasy kolekcji, ktรณre implementujฤ interfejs dostฤpu swobodnego
JavaPakiet .util zawiera klasy, ktรณre mogฤ implementowaฤ interfejs dostฤpu swobodnego, to: CopyOnWriteArrayList, Stack, ArrayList i Vector.
60) Jak doลฤ czyฤ do wielu ArrayLists?
Lista udostฤpnia metodฤ addall() zawierajฤ cฤ wiele ArrayList Java.
Rozwaลผmy na przykลad dwie listy: 1) areaList i 2) secondAreaList. Programista moลผe do nich doลฤ czyฤ za pomocฤ addall(), na przykลad:
areaList.addAll(drugiAreaList);
61) Wyjaลnij deque interfejs
Java.util.Deque jest Java, interfejs rozszerzajฤ cy interfejs Queue. Zapewnia obsลugฤ wstawiania i usuwania elementรณw na obu koลcach. Ta kolejka jest rรณwnieลผ nazywana kolejkฤ dwustronnฤ .
62) Wyjaลnij Linkedhashmap
LinkedHashMap to implementacja interfejsu Map. Moลผe takลผe rozszerzaฤ klasฤ HashMap. Dlatego, podobnie jak HashMap, LinkedHashMap umoลผliwia Java programistom, aby zezwolili na jeden klucz zerowy i wiฤcej niลผ jednฤ wartoลฤ zerowฤ .
63) Wyjaลnij metody usuwania elementรณw z ArrayList
Metody usuwania elementรณw z ArrayList to:
| Metoda wykonania | OPIS |
|---|---|
| jasny() | Ta metoda usuwa elementy z ArrayList. |
| usuล(indeks int) | Ta metoda ArrayList moลผe usunฤ ฤ element z okreลlonej pozycji. |
| usuล (obiekt o) | Moลผe usunฤ ฤ pierwsze wystฤ pienie elementu wzmianki z ArrayList. |
| Usuล wszystko() | Moลผe usunฤ ฤ listฤ elementรณw znajdujฤ cych siฤ w okreลlonej kolekcji. |
| usuลIf(Predykat filtr) | Ta metoda usuwa elementy, ktรณre speลniajฤ wzmiankฤ o predykacie. |
64) Wyjaลnij mapฤ. wpis na mapie
Map.entry to a Java interfejs java.util. Posiada zagnieลผdลผony interfejs w Mapie. Ten interfejs musi byฤ kwalifikowany przez nazwฤ klasy lub interfejsu, ktรณrego jest czลonkiem. Dlatego jest kwalifikowany jako Mapa. โโWpis. Reprezentuje parฤ klucz i wartoลฤ, ktรณra moลผe tworzyฤ element Mapy.
Ta metoda zwraca widok kolekcji. Rozwaลผmy na przykลad cityMap jako mapฤ. Programista moลผe uลผyฤ funkcji EntrySet(), aby uzyskaฤ ustawiony widok mapy zawierajฤ cy element Map.Entry. Programista moลผe takลผe uลผyฤ funkcji getKey() i getValue() obiektu Map.Entry, aby uzyskaฤ parฤ klucza i wartoลci mapy.
65) Ktรณra metoda jest uลผywana do sortowania tablicy w porzฤ dku rosnฤ cym?
Java metoda struktury kolekcji Collections.sort() sลuลผy do sortowania tablicy w porzฤ dku rosnฤ cym.
66) Jak zmierzyฤ wydajnoลฤ ArrayList?
Wydajnoลฤ ArrayList moลผna zmierzyฤ za pomocฤ :
- Dodawanie elementu: Programista moลผe dodaฤ element na koลcu ArrayList za pomocฤ metody add(E e). Jest to O(1). W najgorszym scenariuszu moลผe dojลฤ do O(n). Moลผe siฤ to zdarzyฤ, jeลli programista doda wiฤcej elementรณw niลผ pojemnoลฤ tablicy.
- Pobieranie elementu: Programista moลผe uzyskaฤ dostฤp do indeksu tablicy za pomocฤ get(int indeks). Wydajnoลฤ w tym przypadku moลผna zmierzyฤ za pomocฤ metody ArrayList get() wynoszฤ cej O(1).
- Usuwanie elementu: W przypadku, gdy programiลci usuwajฤ elementy za pomocฤ metody remove(int index), wydajnoลฤ ArrayList moลผna obliczyฤ za pomocฤ wspomnianej operacji remove(int index) z szybkoลciฤ O(n โ index).
67) Wyjaลnij klasฤ LinkedList
Klasa LinkedList w Java implementuje Deque i List za pomocฤ listy dwukierunkowo wiฤ zanej. W liลcie dwukierunkowo wiฤ zanej znajduje siฤ prywatny wฤzeล klasy, ktรณry zapewnia jej strukturฤ. Posiada rรณwnieลผ zmiennฤ elementu do przechowywania wartoลci i odniesienia do klasy Node. Moลผe byฤ ona uลผywana do ลฤ czenia nastฤpnego i poprzedniego wฤzลa.
68) Podaj przykลad Hashmap
Przykลad Hashmap to:
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) Jak iterowaฤ mapฤ?
Programista nie moลผe bezpoลrednio iterowaฤ mapy, ale ten interfejs ma dwie metody, ktรณre dajฤ zestaw widoku mapy. Metody te to:
- Ustawiฤ >zestaw wpisรณw(): Jest to metoda zwracajฤ ca zbiรณr zawierajฤ cy wpisy wymienione na mapie. Wpisy te sฤ z reguลy kwestionowane, co ma typ Map. Wejลcie.
- Ustawiฤ zestaw kluczy(): Ten Java Metoda zwraca zestaw zawierajฤ cy klucz mapy.
70) Wyjaลnij mapฤ drzewa w Java
TreeMap to klasa implementujฤ ca interfejsy Map LinkedHashMap i HashMap. Moลผe rรณwnieลผ implementowaฤ interfejs NavigableMap i rozszerzaฤ interfejs Abs.tracKlasa tMap.
71) Jaka jest rรณลผnica miฤdzy Hashmap a Hashtable?
| Hashmapa | Tablica haszujฤ ca |
|---|---|
| Nie jest zsynchronizowane. | Jest zsynchronizowane. |
| HashMapa pozwala na jeden klucz jako wartoลฤ zerowฤ . | HashTable nie zezwala na wartoลci null. |
| Iterator sลuลผy do przechodzenia przez HashMap. | Do poruszania siฤ po tablicy HashTable uลผywany jest Iterator lub Moduล wyliczajฤ cy. |
| Moลผna go uลผywaฤ zarรณwno dla HashTable, HashMap i jest niezawodny. | Moลผna go uลผywaฤ z HashTable i jest niezawodny. |
| HashMap dziaลa szybciej niลผ HashTable. | Hashtable nie jest duลผo szybszy w porรณwnaniu do HashMap. |
72) Wyjaลnij wewnฤtrzne dziaลanie HashSet w Java
HashUstaw Java wewnฤtrznie uลผywa HashMap do przechowywania elementรณw. Moลผe takลผe przechowywaฤ unikalne wartoลci bez zduplikowanych wartoลci.
In Java, programista HashSet moลผe mieฤ metodฤ add(E e), ktรณra przyjmuje tylko element do dodania jako parametr. Nie akceptuje pary klucz-wartoลฤ.
73) Wyjaลnij notacjฤ Big-O na przykลadzie
Notacja Big-O przedstawia wydajnoลฤ algorytmu jako liczbฤ elementรณw w ArrayList. Programista moลผe uลผyฤ notacji Big-O, aby wybraฤ implementacjฤ kolekcji. Opiera siฤ na wydajnoลci, czasie i pamiฤci.
Na przykลad ArrayList get(index i) jest metodฤ wykonywania operacji o staลym czasie. Nie zaleลผy ona od caลkowitej liczby elementรณw dostฤpnych na liลcie. Dlatego wydajnoลฤ w notacji Big-O wynosi O(1).
74) Wyjaลnij najlepsze praktyki w Java Ramy gromadzenia
Najlepsze praktyki w Java Ramy gromadzenia to:
- Wybierz odpowiedni rodzaj kolekcji w zaleลผnoลci od potrzeby.
- Unikaj ponownego mieszania lub zmiany rozmiaru, szacujฤ c caลkowitฤ liczbฤ elementรณw, ktรณre majฤ byฤ przechowywane w klasach kolekcji.
- Napisaฤ Java programu pod wzglฤdem interfejsรณw. Pomoลผe to programiลcie w przyszลoลci bez wysiลku zmieniฤ implementacjฤ.
- Deweloper moลผe uลผywaฤ Generics dla bezpieczeลstwa typu.
- Uลผyj niezmiennych klas podanych przez Java Zestaw narzฤdzi programistycznych. Unikaj implementacji funkcji equals() i hashCode() dla klas niestandardowych.
- Programista powinien uลผywaฤ klasy narzฤdziowej Collections do algorytmรณw lub do uzyskiwania kolekcji tylko do odczytu, zsynchronizowanych lub pustych. Zwiฤkszy to moลผliwoลฤ ponownego uลผycia kodu przy niskiej ลatwoลci utrzymania.
75) Wyjaลnij rรณลผne rodzaje kolejek Java
Istniejฤ trzy rodzaje kolejek Java:
- Kolejka priorytetowa: Jest to specjalny typ kolejki, w ktรณrym elementy sฤ sortowane wedลug ich naturalnego porzฤ dku lub niestandardowego komparatora.
- Kolejka okrฤลผna: Jest to typ kolejki, w ktรณrej operacje uลผytkownika sฤ wykonywane na podstawie metody FIFO. Ostatni element jest poลฤ czony z pierwszฤ pozycjฤ , aby utworzyฤ okrฤ g.
- Double-zakoลczona kolejka: Kolejka dwustronna to abstracTyp danych t, โโktรณry uogรณlnia kolejkฤ. Elementy w tej kolejce moลผna dodawaฤ lub usuwaฤ z jej poczฤ tku lub koลca.
76) Jaka jest rรณลผnica miฤdzy stosem a kolejkฤ ?
| Stos | kolejka |
|---|---|
| Zasada dziaลania stosu to LIFO. | Zasada dziaลania kolejki to FIFO. |
| Jeden koniec sลuลผy do wstawiania lub usuwania elementรณw. | Jeden koniec sลuลผy do wstawiania, a drugi do usuwania elementรณw. |
| Uลผywa jednego wskaลบnika. | Uลผywa dwรณch wskaลบnikรณw w prostej kolejce. |
| Nie ma ลผadnego wariantu. | Ma warianty takie jak kolejka priorytetowa, kolejka cykliczna, kolejka podwรณjnie zakoลczona. |
| Jest ลatwy w uลผyciu. | Nie jest ลatwy w uลผyciu. |
77) Jaka jest rรณลผnica miฤdzy tablicฤ a stosem?
Rรณลผnica miฤdzy tablicฤ a stosem jest nastฤpujฤ ca:
| Szyk | Stos |
|---|---|
| Jest to zbiรณr elementรณw identyfikowanych za pomocฤ indeksu. | Jest to operacja kolekcji peลniฤ ca funkcjฤ operacji push i pop. |
| Zawiera elementy typรณw danych, ktรณre sฤ takie same. | Zawiera elementy rรณลผnych typรณw danych. |
| Elementy tablicy moลผna usuwaฤ i dodawaฤ do niej za pomocฤ operacji dostฤpu losowego. | Elementy moลผna usuwaฤ ze stosu lub dodawaฤ do niego za pomocฤ operacji LIFO. |
78) Zdefiniuj iterator()
Iterator() to interfejs udostฤpniajฤ cy metody iteracji kolekcji. Iterator moลผe zastฤ piฤ wyliczenie w Java. Umoลผliwia wywoลujฤ cemu usuwanie elementรณw z kolekcji. Metoda zapewnia ogรณlny sposรณb przechodzenia przy uลผyciu elementรณw kolekcji i implementacji wzorca projektowego iteratora.
79) Jakie sฤ rรณลผne sposoby iteracji po liลcie?
Java kolekcja Programista Framework moลผe iterowaฤ po liลcie na dwa sposoby: 1) uลผywajฤ c iteratora i 2) uลผywajฤ c go dla kaลผdego pฤtla.
80) Jakie sฤ zalety stosu?
Zalety stosu to:
- Pomaga zarzฤ dzaฤ danymi metodฤ โostatnie weszลo, pierwsze wyszลoโ (LIFO), co nie jest moลผliwe w przypadku poลฤ czonej listy i tablicy.
- Po wywoลaniu funkcji zmienne lokalne sฤ zapisywane w stosie, ktรณry po zwrรณceniu jest automatycznie niszczony.
- Stos jest uลผywany, gdy zmienna nie jest uลผywana poza tฤ funkcjฤ .
- Pozwala kontrolowaฤ sposรณb przydzielania i zwalniania pamiฤci.
- Stos automatycznie czyลci obiekt.
- Nieลatwo je zepsuฤ
- Zmienne nie moลผna zmieniฤ rozmiaru.
Te pytania podczas rozmowy kwalifikacyjnej pomogฤ rรณwnieลผ w Twoim ลผyciu (ustach)


