Топ 80 Колекции Java Интервю Въпроси & Отговори

Anonim

Ето въпроси за интервю за Java Collections за по-свежи, както и опитни кандидати, за да получат мечтаната си работа.

1) Какво представлява рамката в Java?

Рамката е популярна и готова архитектура, която съдържа набор от класове и интерфейси.

2) Каква е рамката за събиране в Java?

Collection Framework е групиране на класове и интерфейси, което се използва за съхраняване и управление на обектите. Той осигурява различни класове като Vector, ArrayList, HashSet, Stack и др. Структурата на Java Collection може да се използва и за интерфейси като Queue, Set, List и др.

3) Обяснете класа на колекциите

java.util.Collections е клас, състоящ се от статични методи, които работят върху колекции. Той съдържа полиморфни алгоритми за работа с колекции, "обвивки". Този клас съдържа методи за алгоритми, като двоично сортиране, търсене, разбъркване и т.н.

4) Какво представлява hashCode ()?

HashCode () е метод, който връща цялостен хеш код.

5) Разграничаване между ArrayList и Vector в рамките на колекцията на Java.

ArrayList Вектор
ArrayList не може да бъде синхронизиран. Вектор може да бъде синхронизиран.
Това не е наследствен клас. Това е наследствен клас.
Той може да увеличи размера си с 50% от размера на масива. Той може да увеличи размера си, като удвои размера на масива.
ArrayList не е безопасен за нишки. Vector е безопасен за нишки.

6) Какво е ArrayList в Java?

ArrayList е структура от данни, която може да бъде разтегната, за да побере допълнителни елементи в себе си и да се свие обратно до по-малък размер, когато елементите бъдат премахнати. Това е много важна структура от данни, полезна при обработка на динамичното поведение на елементите.

7) Разграничаване между Iterator и ListIterator

Разликата между Iterator и ListIterator е:

Итератор ListIterator
Итераторът може да прекоси елементите на масива в посока напред. ListIterator може да пресича елементите на масива както в посока назад, така и напред.
Може да се използва в опашка, списък и набор. Може да се използва в Списък.
Той може да извършва само операция за премахване. Той може да извършва операция за добавяне, премахване и задаване, докато обхожда колекцията.

8) Каква е разликата между Iterator и Enumeration?

Разликата между Iterator и Enumeration

Итератор Изброяване
Итераторът може да прекоси както наследени, така и не-наследени елементи. Изброяването може да обходи само наследени елементи.
Итераторът работи бързо. Изброяването не е бързо.
Итераторът е много бавен в сравнение с изброяването. Изброяването е бързо в сравнение с Iterator.
Итераторът може да извърши операция за премахване, докато обхожда колекцията. Изброяването може да извърши само ходова операция върху колекцията.

9) Определете BlockingQueue

BlockingQueue е интерфейс, използван в Java, който може да разшири опашката. Той осигурява паралелност в различни операции на опашка като извличане, вмъкване, изтриване и т.н.

Опашката чака да стане непразна по време на извличане на всички елементи. BlockingQueue не трябва да съдържа нулеви елементи. Изпълнението на тази опашка е безопасно за нишки.

Синтаксисът на BlockingQueue е:

public interface BlockingQueue extends Queue  

10) Обяснете метода за заместване на equals ()

Методът equals се използва за проверка на сходството между два обекта. В случай, че програмистът иска да провери обект въз основа на свойството, тогава той трябва да бъде заменен.

11) Каква е разликата между сравним и сравнителен?

Разликата между Comparable и Comparator е:

Сравним Компаратор
Comparable осигурява метод compareTo () за сортиране на елементи в Java. Comparator предоставя метод compare () за сортиране на елементи в Java.
Сравним интерфейс присъства в пакета java.lang. Интерфейсът за сравнение присъства в Java. util пакет.
Логиката на сортирането трябва да бъде в същия клас, чийто обект ще сортирате. Логиката на сортирането трябва да бъде в отделен клас за писане на различно сортиране въз основа на различни атрибути на обекти.
Класът, чиито обекти искате да сортирате, трябва да реализира сравним интерфейс. Клас, чиито обекти искате да сортирате, не е необходимо да прилагат сравнителен интерфейс.
Той осигурява единични последователности за сортиране. Той осигурява множество последователности за сортиране.
Този метод може да сортира данните според естествения ред на сортиране. Този метод сортира данните според персонализирания ред за сортиране.
Засяга оригиналния клас. т.е. действителният клас се променя. Това не засяга оригиналния клас, т.е. действителният клас не се променя.
Прилага се често в API чрез календар, класове Wrapper, дата и низ. Той е реализиран за сортиране на екземпляри на класове на трети страни.
Всички класове обвивки и клас String реализират сравнимия интерфейс. Единствените внедрени класове на Comparator са Collator и RuleBasedColator.

12) Обяснете на equals () с примера

Equals () проверява дали числовият обект е равен на обекта, който се предава като аргумент или не.

Синтаксисът на метода equals () е:

public boolean equals(Object o) 

Този метод взема два параметъра 1) всеки обект, 2) върната стойност. Той връща true, ако подаденият аргумент не е null и е обект от подобен тип със същата числова стойност.

Пример:

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) Избройте предимствата на генеричното събиране

Ползите от използването на родовата колекция са:

  • Ако програмистите използват общ клас, те не се нуждаят от typecasting.
  • Той е безопасен за тип и може да бъде проверен по време на компилирането.
  • Той осигурява стабилност на кода чрез откриване на грешка по време на компилацията.

14) Обяснете метода за преобразуване на ArrayList в Array и Array в ArrayList

Програмистите могат да конвертират Array в ArrayList, използвайки метода asList () от клас Arrays. Това е статичен метод на клас Arrays, който приема обекта List. Синтаксисът на метода asList () е:

Arrays.asList(item) 

Програмистите на Java могат да преобразуват ArrayList в обекта List, използвайки синтаксис:

List_object.toArray(new String[List_object.size()])

15) Дайте пример за ArrayList

Примерът за обратен ArrayList е:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

16) Дайте пример за сортиране на масив в низходящ ред

Примерът за сортиране на масив в подреждащ ред е:

package com.guru99;public class SelectionSortAlgo {public static void main(String a[]){int[] myArray = {860,8,200,9};System.out.println("------Before Sort-----");printArray(myArray);selection(myArray);//sorting array using selection sortSystem.out.println("-----After Sort-----");printArray(myArray);}public static void selection(int[] array){for (int i = 0; i < array.length - 1; i++){ System.out.println("Sort Pass Number "+(i+1));int index = i;for (int j = i + 1; j < array.length; j++){System.out.println("Comparing "+ array[index] + " and " + array[j]);if (array[j] < array[index]){System.out.println(array[index] + " is greater than " + array[j] );index = j;}}int smallerNumber = array[index];array[index] = array[i];array[i] = smallerNumber;System.out.println("Swapping Elements: New Array After Swap");printArray(array);}}static void printArray(int[] array){for(int i=0; i < array.length; i++){System.out.print(array[i] + " ");}System.out.println();}}

17) Обяснете основните интерфейси на рамката на Java колекции

Рамката за събиране на Java е корен от йерархията на колекциите. Той представлява група от обекти като свои елементи. Езикът за програмиране Java не осигурява директно изпълнение на такъв интерфейс.

  • Set: Set е колекция без дублиращи се елементи. Той използва hashtable за съхраняване на елементи.
  • Списък: Списъкът е подредена колекция, която може да съдържа дублиращи се елементи. Той позволява на разработчиците да имат достъп до всички елементи от неговата входяща поща. Списъкът е като масив с динамична дължина.
  • КАРТА: Това е обект, който преобразува ключовете в стойности. Не може да съдържа дублирани ключове. Всеки ключ може да бъде преобразуван в поне една стойност.

18) Какви са характеристиките на Java Hashmap?

Характеристиките на Java Hashmap са:

  • Стойностите могат да се съхраняват в карта чрез образуване на двойка ключ-стойност. Стойността може да бъде извлечена с помощта на ключа, като се предаде на правилния метод.
  • Ако в картата не съществува елемент, той ще изхвърли 'NoSuchElementException'.
  • HashMap съхранява само препратки към обекти. Ето защо е невъзможно да се използват примитивни типове данни като double или int. Вместо това използвайте клас на обвивка (като Integer или Double).

19) Какво е стек?

Стекът е специална област от паметта на компютъра, която съхранява временни променливи, създадени от функция. В стека променливите се декларират, съхраняват и инициализират по време на изпълнение.

20) Какво е свързаният списък?

Свързаният списък е структура от данни, която може да съхранява колекция от елементи. С други думи, свързаните списъци могат да се използват за съхраняване на няколко обекта от един и същи тип. Всяка единица или елемент от списъка се посочва като възел. Възел в свързания списък има своите данни и адреса на следващия възел. Това е като верига. Свързаните списъци се използват за създаване на графики и дървета.

21) Дайте пример за ArrayList

Примерът за ArrayList е:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

22) Обяснете свързан списък, поддържан от Java

Два типа свързани списъци, поддържани от Java, са:

  • Единично свързан списък: Единично свързан списък е вид структура на данните. В единично свързан списък всеки възел в списъка съхранява съдържанието на възела и препратка или указател към следващия възел в списъка. Той не съхранява никаква препратка или указател към предишния възел.
  • Двойно свързани списъци: Двойно свързани списъци са специален тип свързани списъци, при които обхождането на елементите от данни може да се извърши и в двете посоки. Това е възможно чрез наличието на две връзки във всеки възел, един, който се свързва със следващия възел и друг, който се свързва с предишния възел.

23) Обяснете методите, предоставени от интерфейса на опашката?

Методите на интерфейса на Java Queue са:

Метод Описание
булево добавяне (обект) Вмъква посочен елемент в опашката. Връща се вярно, в случай че успее.
булево предложение (обект) Този метод се използва за вмъкване на елемента в опашката.
Премахване на обект () Той извлича и премахва главата на опашката.
Обектна анкета () (): Извлича и премахва главата на опашката или връща null в случай, че е празна.
Обектна анкета () Той извлича и премахва главата на опашката или връща нула в случай, че е празна.
Елемент на обект () Извлича данните от опашката, но не премахва главата им.
Надникване на обект () Извлича данните от Опашката, но не премахва главата им, или в случай, че Опашката е Опашката е празна, тя ще извлече нула.

24) Споменете методите, предоставени от клас Stack

Важните методи, предоставени от класа на стека, са:

  • push (): Натиснете елемент в стека.
  • empty (): Този метод установява дали стекът е празен или не.
  • pop (): Този метод на рамка за събиране на Java премахва обекта от стека.
  • search (): Този метод търси елементи в стека.
  • peek (): Този метод на Java разглежда обекта на стека, без да го премахва.

25) Дефинирайте emptySet () в рамката на Java колекции

Метод emptySet (), който връща празния неизменяем набор, когато програмистите се опитват да премахнат нулеви елементи. Наборът, който се връща от emptySet (), е сериализуем. Синтаксисът на този метод е:

публичен статичен финал Set emptySet ()

26) Разграничаване между колекция и колекции

Разликата между колекция и колекции са:

колекция Колекции
Колекцията е интерфейс. Колекциите е клас.
Представлява група обекти като едно цяло. Той дефинира различни методи на полезност за обекти за събиране.
Колекцията е основният интерфейс на рамката на Java Collection. Колекциите е общ полезен клас.
Този интерфейс се използва за извличане на структури от данни за събиране. Този клас съдържа статични методи за манипулиране на структурата на данните.

27) Определете LinkedHashSet в рамката на Java Collection?

LinkedHashSet е подклас на класа, наречен HashSet, и реализира зададения интерфейс. Това е добре подредена версия на HashSet, която поддържа двойно свързан списък във всичките му елементи.

28) Каква е разликата между безотказно и безопасно?

Неуспешно Безопасно
Не позволява модификация на колекция по време на итерация. Позволява модификация на колекция, докато се повтаря.
Той може да хвърли ConcurrentModificationException Не може да хвърли никакво изключение.
Той използва оригиналната колекция, за да прекоси елементите. Той използва оригинално копие на колекция, за да прекоси елементите.
Няма изискване за допълнителна памет. Има изискване за допълнителна памет.

29) Списък на изгледите на колекция на интерфейс на карта

Изгледите на колекцията на интерфейса на картата са: 1) изглед на набор от ключове, 2) изглед на набор от стойности и 3) изглед на набор от записи.

30) Какви са предимствата на Collection Framework в Java?

Предимствата на Collection Framework в Java са:

  • Рамката за събиране на Java предлага високоефективни и ефективни структури от данни, които подобряват точността и скоростта на програмата.
  • Програмата, разработена с рамката за събиране на Java, е лесна за поддръжка.
  • Разработчикът може да смесва класове с други типове, което води до увеличаване на повторната употреба на кода.
  • Рамката за събиране на Java позволява на програмистите да модифицират примитивните типове колекции, както им харесва.

31) Какъв е добрият начин за сортиране на обектите Collection в Java?

Добър начин за сортиране на обектите за събиране на Java е използването на сравними и сравнителен интерфейс. Разработчик може да използва Collections.sort (), елементите се сортират въз основа на упоменаването на реда в compareTo ().

Когато разработчик използва Колекции, сортиране (Comparator), той сортира обектите в зависимост от compare () на интерфейса Comparator.

32) Обяснете Vector в Java

Векторът е същият като масив. Той има компоненти, които могат да бъдат достъпни с помощта на стойност на индекса. Векторите могат да съдържат наследствен метод, който не е нито част от рамката за събиране.

33) Каква е разликата между Set и Map?

Комплект Карта
Комплектът принадлежи на package-java.util. Картата принадлежи на package- java.util.
Той може да разшири интерфейса за събиране. Той не разширява интерфейса за събиране.
Не позволява дублирани стойности. Той позволява дублирани стойности.
Set може да сортира само една нулева стойност. Картата може да сортира множество нулеви стойности.

34) Определете класа на речника

Класът Dictionary е клас Java, който има възможност да съхранява двойки ключ-стойност.

35) Определете EnumSet

java.util.EnumSet е Задайте реализация, която може да се използва с типове enum. EnumSet, имащ всички елементи, трябва да идва от един тип изброяване, посочен изрично или неявно. Той не е синхронизиран и също така не са разрешени нулеви клавиши. EnumSet предоставя методи като EnumSetof (първо E, E

... почивка), complementOf (EnumSet s) и copyOf (Collection c).

36) Какви са двата начина за премахване на дубликати от ArrayList?

Два начина за премахване на дубликати от ArrayList са:

  • HashSet: Разработчикът може да използва HashSet, за да премахне дублиращия се елемент от ArrayList. Недостатъкът е, че не може да запази реда за вмъкване.
  • LinkedHashSet: Разработчиците могат също да поддържат реда на вмъкване, като използват LinkedHashSet вместо HashSet.

37) Какво е IdentityHashMap?

IdentityHashMap е клас, който реализира сериализуеми, клонируеми интерфейси, Map и разширява класа AbstractMap. Проектиран е за случая, в който има нужда от семантика на референтно равенство.

38) Какво е WeakHashMap?

WeakHashMap е изпълнение на Java Map. Използва се за съхраняване на слаби препратки към ключовете си. Сортирането с помощта на тази карта позволява двойката ключ-стойност да се събира като боклук. Неговият ключ не е посочен извън WeakHashMap.

39) Какви са методите, за да направим колекцията безопасна за нишки?

Методите за осигуряване на безопасност на нишката за събиране са:

  • Collections.synchronizedList (списък);
  • Collections.synchronizedMap (карта);
  • Collections.synchronizedSet (set);

40) Обяснете UnsupportedOperationException

UnsupportedOperationException е изключение, което се хвърля върху методи, които не се поддържат от действителния тип колекция.

Например, разработчикът прави списък само за четене, използвайки "Collections.unmodifiableList (list)" и извиква метод call (), add () или remove (). Той трябва ясно да хвърля UnsupportedOperationException.

41) Назовете класовете на колекцията, които дават произволен достъп до елементите

Класовете за събиране, които дават произволен достъп до елементите му, са: 1) ArrayList, 2) HashMap, 3) TreeMap и 4) Hashtable.

42) Обяснете разликата между Queue и Deque.

Опашка Deque
Нарича се еднократна опашка Нарича се двойна опашка
Елементите в опашката се добавят или премахват от единия край Елементите в опашката се добавят от двата края, могат да бъдат добавени и премахнати от двата края
Той е по-малко гъвкав. По-гъвкав е.

43) Споменете интерфейса List и Set за изпълнение

Клас, изпълняващ списъчен интерфейс: 1) ArrayList, 2) Vector и 3) LinkedList.

Клас, изпълняващ Set интерфейс: 1) HashSet и 2) TreeSet.

44) Обяснете дизайнерския модел, последван от Iterator

Итераторът следва детайлите на шаблона за дизайн на итератора. Той предоставя на разработчика да навигира през колекциите обекти, използвайки общ интерфейс, без да знае изпълнението му.

45) Какво представлява peek () на интерфейса на опашката?

Peek () е метод за интерфейс на опашката. Той извлича всички елементи, но не премахва главата на опашката. В случай, че Опашката е празна, тогава този метод ще върне null.

46) Какво е CopyOnWriteArrayList?

CopyOnWriteArrayList е вариант на ArrayList, в който се изпълняват операции като добавяне и задаване чрез създаване на копие на масива. Той е безопасен за нишки и по този начин не изхвърля ConcurrentModificationException. Този ArrayLists разрешава всички елементи, включително null.

47) Разграничаване между ArrayList и LinkedList

Разликата между ArrayList и LinkedList е:

ArrayList LinkedList
Той използва динамичен масив. Той използва двойно свързан списък.
ArrayList не е за предпочитане за манипулация. LinkedList е за предпочитане за манипулация.
ArrayList осигурява произволен достъп. LinkedList не предоставя произволен достъп.
ArrayList s съхранява само обекти, поради което отнема по-малко допълнителна памет LinkedList съхранява обект, както и обект на адрес; следователно са необходими повече режийни памет.

48) Обяснете методите на интерфейса на итератора

Методите на интерфейса на итератора са:

Метод Описание
публичен булев hasNext () Връща истина в итератора има елементи; в противен случай връща false.
публичен обект следващ () Този метод връща елемента и премества показалеца към следващата стойност.
public void remove () Този метод на Java може да премахне последните елементи, върнати от итератора. Public void remove () се използва по-рядко.

49) Какви са методите на класа HashSet?

Методите за клас HashSet са:

Методи Описание
булево добавяне (обект o) Този метод добавя споменатия елемент към този набор, ако той все още не е наличен.
boolean съдържа (Обект o): Връща true, ако комплектът съдържа посочения елемент.
void clear (): Този метод премахва зададени елементи.
boolean isEmpty (): В случая се връща true, наборът няма елементи.
булево премахване (Обект o): Той премахва посочения елемент от набора.
клониране на обект (): Този метод връща копие на екземпляра HashSet: самите елементи не са клонирани.
итератор итератор () Той връща итератор над елементите в този набор.
int размер (): Той връща броя на наличните елементи в набора.

50) Какви са методите на Java TreeSet класа?

Методите на класа Java TreeSet са:

Методи Описания
boolean addAll (Колекция c) Добавете всички елементи в посочената колекция към този набор.
boolean съдържа (Обект o) Връща true, ако комплектът съдържа споменатия елемент.
boolean isEmpty () Този метод на Java връща true, ако този набор не съдържа елементи.
булево премахване (обект o) Премахнете посочения елемент от набора.
void add (Обект o) Той добавя посочения елемент към набора.
празно ясно () Този метод на Java премахва всички елементи от набора.

51) Обяснете свързания HashSet

Класът Java LinkedHashSet е свързан списък и реализация на таблица на хеш на интерфейса Set. Той съдържа уникални елементи, същите като HashSet. Linked HashSet в Java също предоставя опционални операции, които могат да поддържат реда на вмъкване.

52) Кои са важните методи, използвани в свързания списък?

Важните методи, използвани в свързания списък, са:

Метод Описание
булево добавяне (обект o) Използва се за добавяне на посочения елемент в края на вектора.
boolean съдържа (Обект o) Това е метод, който връща true, ако този списък съдържа посочения елемент.
void add (int index, Object element) Вмъква елемента в посочения елемент във вектора.
void addFirst (Обект o) Използва се за вмъкване на дадения елемент в началото.
void addLast (Обект o) Използва се за добавяне на дадения елемент до края.
Int размер () Този метод може да се използва за връщане на общия брой елементи в списък.
булево премахване (обект o) Той може да премахне първата поява на посочения елемент от този списък.
int indexOf (елемент на обект) Този метод на Java връща индекса с първото появяване на споменатия елемент в този списък или -1.
int lastIndexOf (елемент на обект) Това е метод на Java, който връща индекса с последното появяване на посочения елемент в този списък или -1.

53) Избройте различни класове, налични в комплекти

Различни класове, налични в набори, са: HashSet, TreeSetand и LinkedHashSet.

54) Методи за списък, налични в интерфейса на Java Queue

  • булево добавяне (обект)
  • булево предложение (обект)
  • премахване на обект ()
  • обект анкета ()
  • обект елемент ()
  • обект надникване ()

55) Разграничаване между списък и набор.

Списък Комплект
Подредена колекция от елементи Неподредена колекция от елементи
Запазва реда за вмъкване Не запазва реда за вмъкване
Позволени са дублирани стойности Не се допускат дублирани стойности
Може да се съхранява произволен брой нулеви стойности Само една нулева стойност може да бъде съхранена
ListIterator може да се използва за преминаване по списъка във всяка посока ListIterator не може да се използва за обхождане на набор
Съдържа наследствен клас, наречен вектор Не съдържа наследствен клас

56) Обяснете за всеки цикъл с пример

For-Every Loop е друга форма на цикъл for, използван за пресичане на масива. Намалява кода значително и не се използва индексът или по-скоро броячът в цикъла.

Пример за за всеки цикъл:

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

57) Обяснете оператора на диаманти

Diamond операторът позволява на компилатора да събира типовите аргументи от общ клас. В Java SE разработчикът може да замени параметризирания конструктор с празни набори от параметри (<>), известни като диамантен оператор.

58) Обяснете интерфейса на случайния достъп

Интерфейсът RandomAccess се използва от реализациите на Списък за индикация, че те поддържат бързо.

59) Назовете класовете за събиране, които реализират интерфейс за произволен достъп

Пакетът Java.util има класове, които могат да реализират интерфейс за произволен достъп, са: CopyOnWriteArrayList, Stack, ArrayList и Vector.

60) Как да се присъедините към множество ArrayLists?

Списъкът предоставя метод addall () множествен ArrayList в Java.

Например, разгледайте два списъка 1) areaList и 2) secondAreaList. Разработчик може да се присъедини към тях чрез addall () като:

areaList.addAll (secondAreaList);

61) Обяснете интерфейса deque

Java.util.Deque е Java, интерфейс, който разширява интерфейса на опашката. Той дава подкрепа за вмъкване и изтриване на елементи в двата края. Тази опашка се нарича още опашка с двоен край.

62) Обяснете Linkedhashmap

LinkedHashMap е изпълнението на интерфейса на Map. Той може също да разшири класа HashMap. Следователно, подобно на HashMap, LinkedHashMap дава възможност на разработчиците на Java да разрешат един нулев ключ и повече от една нулева стойност.

63) Обяснете методите за премахване на елементи от ArrayList

Методите за премахване на елементи от ArrayList са:

Метод Описание
изчисти () Този метод премахва елементите от ArrayList.
премахване (индекс int) Този метод на ArrayList може да премахне елемента на определена позиция.
премахване (обект o) Той може да премахне първото появяване на споменатия елемент от ArrayList.
премахнете всички() Той може да премахне списъка с елементи, които са в определена колекция.
removeIf (Предикатен филтър ) Този метод премахва елементи, които удовлетворяват споменаването на предикат.

64) Обяснете картата. запис В Карта

Map.entry е Java интерфейс на java.util. Той има вложен интерфейс в Map. Този интерфейс трябва да бъде квалифициран по името на класа или интерфейса, който е член. Следователно тя е квалифицирана като карта. Влизане. Той представлява двойка ключ и стойност, която може да формира елемент от Карта.

Този метод връща изглед на колекцията. Например, разгледайте cityMap като карта. Разработчикът може да използва entrySet (), за да получи зададения изглед на карта с елемент Map.Entry. Програмистът може също да използва getKey () и getValue () на Map.Entry, за да получи двойката ключ и стойност на картата.

65) Кой метод се използва за сортиране на масив във възходящ ред?

Методът на рамката за събиране на Java, Collections.sort () се използва за сортиране на масив във възходящ ред.

66) Как да се измери производителността на ArrayList?

Ефективността на ArrayList може да се измери чрез:

  • Добавяне на елемент: Програмистът може да добави елемент в края на ArrayList, използвайки метода add (E e). Това е O (1). В най-лошия сценарий може да отиде до O (n). Това може да се случи, ако разработчикът добави повече елементи от капацитета на масива.
  • Извличане на елемент : - Програмистът може да осъществи достъп до индекса на масива с помощта на get (int index). Ефективността, в този случай, може да бъде измерена с помощта на ArrayList get () е O (1).
  • Премахване на елемент: В случай, че разработчиците премахват елемент с помощта на remove (int index), тогава производителността на ArrayList може да бъде изчислена с помощта на споменатата операция за премахване (int index) е метод O (n - index).

67) Обяснете класа LinkedList

Класът LinkedList в Java реализира Deque и List, като използва двойно свързан списък. Има възел от частен клас в двойно свързан списък, който предоставя неговата структура. Той също има променлива на елемент за задържане на стойността и препратка към клас Node. Това може да се използва за свързване на следващия и предишния възел.

68) Дайте пример за Hashmap

Примерът за Hashmap е:

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

69) Как да повторя картата?

Разработчикът не може директно да повтори картата, но този интерфейс има два метода, които дават набор от изгледи на картата. Тези методи са:

  • Set > entrySet (): Това е метод, който връща набор, който съдържа записите, споменати в картата. Обикновено се възразява срещу тези записи, които имат тип Map. Влизане.
  • Set keySet (): Този метод на Java връща набор, който има ключ на картата.

70) Обяснете Treemap в Java

TreeMap е клас, който реализира интерфейса Maped LinkedHashMap и HashMap. Той може също да реализира интерфейса NavigableMap и може да разшири класа AbstractMap.

71) Каква е разликата между Hashmap и Hashtable?

Hashmap Hashtable
Той не е синхронизиран. Той е синхронизиран.
HashMap позволява един ключ като нулева стойност. HashTable не позволява нулеви стойности.
Iterator се използва за пресичане на HashMap. Или Iterator, или Enumerator се използва за обхождане на HashTable.
Той може да се използва както за HashTable, така и за HashMap и е бърз. Може да се използва с HashTable и е безопасен.
HashMap се представя по-бързо от HashTable. Hashtable не е много по-бърз в сравнение с HashMap.

72) Обяснете вътрешната работа на HashSet в Java

HashSet в Java използва вътрешно HashMap за съхраняване на елементи. Той може също да съхранява уникални стойности без дублирани стойности.

В Java разработчикът на HashSet може да има метод add (E e), който отнема само елемента за добавяне като параметър. Не приема двойката ключ и стойност.

73) Обяснете нотация на Big-O с пример

Нотацията Big-O изобразява производителността на алгоритъм като брой елементи в ArrayList. Разработчикът може да използва Big-O нотация, за да избере изпълнението на колекцията. Тя се основава на производителност, време и памет.

Например, ArrayList get (индекс i) е метод за извършване на операция с постоянно време. Това не зависи от общия брой елементи, налични в списъка. Следователно, изпълнението в Big-O нотация е O (1).

74) Обяснете най-добрите практики в Java Collection Framework

Най-добрите практики в Java Collection Framework са:

  • Изберете правилния тип колекция в зависимост от нуждата.
  • Избягвайте повторно променяне или преоразмеряване, като изчислявате общия брой елементи, които трябва да се съхраняват в класовете за събиране.
  • Напишете Java програма от гледна точка на интерфейси. Това ще помогне на разработчика да промени прилагането му без усилия в бъдеще.
  • Разработчикът може да използва Generics за безопасност на типа.
  • Използвайте неизменни класове, дадени от Java Development Kit. Избягвайте прилагането на equals () и hashCode () за персонализирани класове.
  • Програмистът трябва да използва помощния клас Collections за алгоритми или да получи само за четене, синхронизирани или празни колекции. Това ще подобри повторната употреба на кода с ниска поддръжка.

75) Обяснете различни видове опашки в Java

В Java има три вида опашки:

  • Приоритетна опашка: Това е специален тип Опашка, при която елементите се сортират според естественото им подреждане или персонализиран сравнител.
  • Циркулярна опашка: Това е вид опашка, при която потребителските операции се извършват въз основа на метода FIFO. Последният елемент е свързан с първата позиция, за да се направи кръг.
  • Опашка с двоен край: Опашката с двоен край е абстрактен тип данни, който обобщава опашката. Елементите в тази опашка могат да бъдат добавени или премахнати или от главата, или от опашката.

76) Каква е разликата между стека и опашката?

Стек Опашка
Принципът на работа на стека е LIFO. Принципът на работа на опашката е FIFO.
Единият край се използва за вмъкване или изтриване на елементи. Един край се използва за извършване на вмъкване, а друг край се използва за изтриване на елементи.
Той използва един указател. Той използва два указателя в проста опашка.
Той няма никакъв вариант. Той има варианти като приоритетна опашка, кръгова опашка, двойно завършена опашка.
Той е лесен за използване. Не е лесен за използване.

77) Каква е разликата между масива и стека?

Разликата между масива и стека е:

Масив Стек
Това е колекция от елементи, които се идентифицират от индекса. Това е операция за събиране, която служи като операция push и pop.
Той има елементи на типове данни, които са еднакви. Той има елементи от типове данни, които са различни.
Елементите могат да бъдат премахнати или добавени в масива с помощта на операция за произволен достъп. Елементите могат да бъдат премахнати или добавени в стека с помощта на операция LIFO.

78) Определете итератор ()

Iterator () е интерфейс, който предоставя методи за итерация на Collection. Итераторът може да заеме мястото на изброяване в Java. Позволява на повикващия да премахва елементи от колекцията. Методът предоставя общ начин за обхождане с използване на елементи от колекцията и внедряване на модел на дизайн на итератор.

79) Какви са различните начини за итерация на списък?

Програмистът на Java collection Framework може да прегледа по списък по два начина: 1) Използване на итератор и 2) използване за всеки цикъл.

80) Какви са предимствата на стека?

Предимствата на стека са:

  • Помага ви да управлявате данните по метода Last In First Out (LIFO), което не е възможно със свързания списък и масив.
  • Когато се извика функция, локалните променливи се съхраняват в стек и тя се унищожава автоматично, след като бъде върната.
  • Стек се използва, когато променлива не се използва извън тази функция.
  • Тя ви позволява да контролирате как паметта се разпределя и освобождава.
  • Stack автоматично почиства обекта.
  • Не се поврежда лесно
  • Променливите не могат да бъдат преоразмерявани.