80 Java Kolekcje Wywiad Pytania i odpowiedzi (2025)
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 grupa klas i interfejsów używana do przechowywania obiektów i zarządzania nimi. Zapewnia 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 hashCode()?
Funkcja hashCode() to metoda zwracająca kod skrótu w postaci liczby całkowitej.
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 (): To zdjęcie Java Metoda frameworka kolekcji usuwa obiekt ze stosu.
- szukaj (): Ta metoda przeszukuje elementy na stosie.
- zerknij (): To zdjęcie 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:
Collection | 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.
- Kurs 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, która implementuje interfejsy Serializable, Cloning, Map i rozszerza klasę AbstractMap. Został zaprojektowany do przypadków, w których istnieje potrzeba semantyki równości referencji.
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ń() | To zdjęcie 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 () | To zdjęcie 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 () | To zdjęcie 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) | To zdjęcie 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(): To zdjęcie Java Metoda zwraca zestaw zawierający klucz mapy.
70) Wyjaśnij mapę drzewa w Java
TreeMap to klasa implementująca interfejs Map LinkedHashMap i HashMap. Może także implementować interfejs NavigableMap i rozszerzać klasę AbstractMap.
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 deweloperski. Unikaj implementacji równości() 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 abstrakcyjny typ danych, który uogólnia kolejkę. Elementy w tej kolejce mogą być dodawane lub usuwane z głowy lub ogona.
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)