80 лучших вопросов для собеседования по коллекциям Java & Ответы

Anonim

Вот вопросы для собеседований по коллекциям Java как для новичков, так и для опытных кандидатов, желающих получить работу своей мечты.

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 может перемещаться по элементам массива как в прямом, так и в обратном направлении.
Его можно использовать в очередях, списках и наборе. Его можно использовать в List.
Он может выполнять только операцию удаления. Он может выполнять операции добавления, удаления и установки во время обхода коллекции.

8) В чем разница между Итератором и Перечислением?

Разница между итератором и перечислением

Итератор Перечисление
Итератор может работать как с устаревшими, так и с устаревшими элементами. Перечисление может проходить только по устаревшим элементам.
Итератор работает без сбоев. Перечисление не является быстрым.
Итератор очень медленный по сравнению с перечислением. Перечисление быстрое по сравнению с итератором.
Итератор может выполнять операцию удаления при обходе коллекции. Перечисление может выполнять только операцию обхода коллекции.

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

BlockingQueue - это интерфейс, используемый в Java, который может расширять очередь. Он обеспечивает параллелизм в различных операциях с очередями, таких как извлечение, вставка, удаление и т. Д.

Очередь ожидает, чтобы стать непустой во время получения каких-либо элементов. BlockingQueue не должен содержать нулевых элементов. Реализация этой очереди является потокобезопасной.

Синтаксис BlockingQueue:

public interface BlockingQueue extends Queue  

10) Объясните переопределение метода equals ()

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

11) В чем разница между Comparable и Comparator?

Разница между Comparable и Comparator заключается в следующем:

Сопоставимый Компаратор
Comparable предоставляет метод compareTo () для сортировки элементов в Java. Comparator предоставляет метод compare () для сортировки элементов в Java.
Сопоставимый интерфейс присутствует в пакете java.lang. Интерфейс компаратора присутствует в java. служебный пакет.
Логика сортировки должна быть в том же классе, чей объект вы собираетесь сортировать. Логика сортировки должна быть в отдельном классе, чтобы писать разные сортировки на основе разных атрибутов объектов.
Класс, объекты которого вы хотите отсортировать, должен реализовывать сопоставимый интерфейс. Класс, объекты которого вы хотите отсортировать, не должен реализовывать интерфейс компаратора.
Он обеспечивает одиночные последовательности сортировки. Он обеспечивает несколько последовательностей сортировки.
Этот метод позволяет сортировать данные в соответствии с естественным порядком сортировки. Этот метод сортирует данные в соответствии с индивидуальным порядком сортировки.
Это влияет на исходный класс. т.е. изменяется фактический класс. Это не влияет на исходный класс, т. Е. Фактический класс не изменяется.
Часто реализуется в API с помощью классов Calendar, Wrapper, Date и String. Реализовано для сортировки экземпляров сторонних классов.
Все классы-оболочки и класс String реализуют сопоставимый интерфейс. Единственные реализованные классы Comparator - Collator и RuleBasedColator.

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

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

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

public boolean equals(Object o) 

Этот метод принимает два параметра: 1) любой объект, 2) возвращаемое значение. Он возвращает истину, если переданный аргумент не равен нулю и является объектом аналогичного типа, имеющим такое же числовое значение.

Пример:

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) Перечислите преимущества общей коллекции

Преимущества использования общей коллекции:

  • Если программисты используют универсальный класс, им не требуется приведение типов.
  • Он безопасен по типу и может быть проверен во время компиляции.
  • Он обеспечивает стабильность кода, обнаруживая ошибку во время компиляции.

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

Программисты могут преобразовать массив в 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 - это коллекция, не имеющая повторяющихся элементов. Он использует хеш-таблицу для хранения элементов.
  • Список: Список - это упорядоченная коллекция, которая может содержать повторяющиеся элементы. Это позволяет разработчикам получать доступ к любым элементам из своего почтового ящика. Список подобен массиву, имеющему динамическую длину.
  • MAP: это объект, который сопоставляет ключи значениям. Он не может содержать повторяющиеся ключи. Каждому ключу можно сопоставить хотя бы одно значение.

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) Объясните методы, предоставляемые интерфейсом Queue?

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

Методика Описание
логическое добавление (объект) Вставляет указанный элемент в Очередь. В случае успеха возвращает true.
логическое предложение (объект) Этот метод используется для вставки элемента в очередь.
Удаление объекта () Он извлекает и удаляет заголовок очереди.
Опрос объекта () (): Извлекает и удаляет заголовок очереди или возвращает null, если он пуст.
Опрос объекта () Он извлекает и удаляет заголовок очереди или возвращает null, если он пуст.
Элемент объекта () Извлекает данные из очереди, но не удаляет ее заголовок.
Обзор объекта () Извлекает данные из Очереди, но не удаляет их заголовок, или в случае, если Очередь - это Очередь пуста, будет получено значение null.

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

Важными методами, предоставляемыми классом 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) В чем разница между отказоустойчивым и отказоустойчивым?

Failfast Отказоустойчивый
Это не позволяет изменять коллекцию во время итерации. Это позволяет изменять коллекцию во время итерации.
Он может вызвать исключение ConcurrentModificationException Он не может вызвать никаких исключений.
Он использует исходную коллекцию для обхода элементов. Он использует копию оригинальной коллекции для перемещения по элементам.
Дополнительная память не требуется. Требуется дополнительная память.

29) Список представлений коллекции интерфейса карты

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

30) Каковы преимущества Collection Framework в Java?

Преимущества Collection Framework в Java:

  • Среда сбора данных Java предлагает высокоэффективные и действенные структуры данных, которые повышают точность и скорость работы программы.
  • Программа, разработанная с использованием среды коллекций Java, проста в обслуживании.
  • Разработчик может смешивать классы с другими типами, что увеличивает возможность повторного использования кода.
  • Среда коллекций Java позволяет программистам изменять примитивные типы коллекций по своему усмотрению.

31) Как лучше всего отсортировать объекты коллекции в Java?

Хороший способ сортировки объектов коллекции Java - использование интерфейсов Comparable и Comparator. Разработчик может использовать Collections.sort (), элементы сортируются в соответствии с порядком, указанным в compareTo ().

Когда разработчик использует Collections, sort (Comparator), он сортирует объекты в зависимости от compare () интерфейса Comparator.

32) Объясните вектор на Java

Вектор такой же, как массив. У него есть компоненты, к которым можно получить доступ с помощью значения индекса. Векторы могут содержать устаревший метод, который не является частью структуры коллекции.

33) В чем разница между Set и Map?

Набор карта
Набор принадлежит package-java.util. Карта принадлежит пакету java.util.
Он может расширить интерфейс коллекции. Он не расширяет интерфейс коллекции.
Это не допускает повторяющихся значений. Это позволяет дублировать значения.
Set может сортировать только одно нулевое значение. Карта может сортировать несколько значений NULL.

34) Определить класс словаря

Класс Dictionary - это класс Java, который может хранить пары ключ-значение.

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

java.util.EnumSet - это реализация Set, которая может использоваться с перечисляемыми типами. EnumSet, содержащий все элементы, должен происходить из одного перечисляемого типа, указанного явно или неявно. Он не синхронизирован, а также недопустимы пустые ключи. EnumSet предоставляет такие методы, как EnumSetof (сначала E, E

… Rest), complementOf (EnumSet s) и copyOf (Коллекция c).

36) Какими двумя способами можно удалить дубликаты из ArrayList?

Два способа удалить дубликаты из ArrayList:

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

37) Что такое IdentityHashMap?

IdentityHashMap - это класс, который реализует интерфейсы Serializable, Clonable, Map и расширяет класс AbstractMap. Он разработан для случая, когда требуется семантика равенства ссылок.

38) Что такое WeakHashMap?

WeakHashMap - это реализация карты Java. Он используется для хранения слабых ссылок на свои ключи. Сортировка с использованием этой карты позволяет собирать пару "ключ-значение" как мусор. На его ключ нет ссылок за пределами WeakHashMap.

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

Способы сделать сбор потокобезопасным:

  • Collections.synchronizedList (список);
  • Collections.synchronizedMap (карта);
  • Collections.synchronizedSet (набор);

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.

Класс, реализующий интерфейс List: 1) ArrayList, 2) Vector и 3) LinkedList.

Класс, реализующий интерфейс Set: 1) HashSet и 2) TreeSet.

44) Объясните шаблон проектирования, за которым следует Итератор

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

45) Что такое peek () интерфейса очереди?

Peek () - это метод интерфейса очереди. Он извлекает все элементы, но не удаляет заголовок очереди. В случае, если очередь пуста, этот метод вернет null.

46) Что такое CopyOnWriteArrayList?

CopyOnWriteArrayList - это вариант ArrayList, в котором такие операции, как добавление и установка, реализуются путем создания копии массива. Это потокобезопасный, поэтому он не генерирует исключение ConcurrentModificationException. Этот ArrayLists разрешает все элементы, включая null.

47) Различия между ArrayList и LinkedList

Разница между ArrayList и LinkedList:

ArrayList LinkedList
Он использует динамический массив. Он использует двусвязный список.
ArrayList не рекомендуется для манипуляций. LinkedList предпочтительнее для манипуляций.
ArrayList обеспечивает произвольный доступ. LinkedList не предоставляет произвольный доступ.
ArrayList хранит только объекты, поэтому требует меньше накладных расходов на память. LinkedList хранит объект, а также объект адреса; следовательно, требуется больше служебной памяти.

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

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

Методика Описание
публичное логическое значение hasNext () Возвращает истину в итераторе, имеющем элементы; в противном случае возвращается false.
публичный объект следующий () Этот метод возвращает элемент и перемещает указатель на следующее значение.
public void remove () Этот метод Java может удалить последние элементы, возвращенные итератором. Public void remove () используется реже.

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

Методы класса HashSet:

Методы Описание
логическое добавление (объект o) Этот метод добавляет элемент упоминания в этот набор, если он еще не присутствует.
логическое значение содержит (Объект o): Он возвращает истину, если набор содержит указанный элемент.
void clear (): Этот метод удаляет установленные элементы.
логическое isEmpty (): Возвращает истину, если в наборе нет элементов.
логическое удаление (Объект o): Удаляет указанный элемент из набора.
объект clone (): Этот метод возвращает копию экземпляра HashSet: сами элементы не клонируются.
итератор итератор () Он возвращает итератор по элементам в этом наборе.
int size (): Он возвращает количество элементов, доступных в наборе.

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

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

Методы Описания
логическое addAll (Коллекция c) Добавьте в этот набор все элементы указанной коллекции.
логическое содержит (Объект o) Возвращает истину, если набор содержит элемент упоминания.
логическое isEmpty () Этот метод Java возвращает истину, если этот набор не содержит элементов.
логическое удаление (объект o) Удалить указанный элемент из набора.
void add (Объект o) Он добавляет указанный элемент в набор.
пусто ясно () Этот метод Java удаляет все элементы из набора.

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

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

52) Какие важные методы используются в связном списке?

В связанном списке используются следующие важные методы:

Методика Описание
логическое добавление (объект o) Он используется для добавления указанного элемента в конец вектора.
логическое содержит (Объект o) Это метод, который возвращает истину, если этот список содержит указанный элемент.
void add (int index, объектный элемент) Вставляет элемент в указанный элемент в вектор.
void addFirst (Объект o) Он используется для вставки данного элемента в начало.
void addLast (Объект o) Он используется для добавления данного элемента в конец.
Размер Int () Этот метод можно использовать для возврата общего количества элементов в списке.
логическое удаление (объект o) Он может удалить первое вхождение указанного элемента из этого списка.
int indexOf (элемент объекта) Этот метод Java возвращает индекс с первым вхождением упомянутого элемента в этом списке или -1.
int lastIndexOf (элемент объекта) Это метод Java, который возвращает индекс с последним вхождением указанного элемента в этом списке или -1.

53) Перечислите различные классы, доступные в наборах

В наборах доступны различные классы: HashSet, TreeSetand и LinkedHashSet.

54) Список методов, доступных в интерфейсе очереди Java

  • логическое добавление (объект)
  • логическое предложение (объект)
  • объект удалить ()
  • опрос объекта ()
  • элемент объекта ()
  • объект peek ()

55) Различия между списком и множеством.

Список Набор
Упорядоченный набор элементов Неупорядоченный набор элементов
Сохраняет порядок размещения Не сохраняет порядок размещения
Допускаются повторяющиеся значения Повторяющиеся значения не допускаются
Может быть сохранено любое количество нулевых значений Можно сохранить только одно нулевое значение
ListIterator можно использовать для перемещения по списку в любом направлении. ListIterator не может использоваться для обхода Set
Содержит унаследованный класс под названием vector Не содержит устаревших классов

56) Объясните каждый цикл на примере

For-Each 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 используется реализациями List для указания того, что они поддерживают быструю поддержку.

59) Назовите классы коллекции, которые реализуют интерфейс произвольного доступа.

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

60) Как присоединиться к нескольким спискам массивов?

В списке есть метод addall () multiple ArrayList в Java.

Например, рассмотрим два списка: 1) areaList и 2) secondAreaList. Разработчик может присоединиться к ним с помощью addall (), например:

areaList.addAll (secondAreaList);

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

Java.util.Deque - это Java, интерфейс, расширяющий интерфейс Queue. Он поддерживает вставку и удаление элементов с обоих концов. Эта очередь также называется двусторонней очередью.

62) Объясните Linkedhashmap

LinkedHashMap - это реализация интерфейса карты. Он также может расширять класс HashMap. Поэтому, как и HashMap, LinkedHashMap позволяет разработчикам Java разрешать один нулевой ключ и более одного нулевого значения.

63) Объясните методы удаления элементов из ArrayList

Методы удаления элементов из ArrayList:

Методика Описание
Чисто() Этот метод удаляет элементы из ArrayList.
удалить (индекс int) Этот метод ArrayList может удалить элемент в определенной позиции.
удалить (Объект o) Он может удалить первое вхождение упомянутого элемента из ArrayList.
удалить все() Он может удалить список элементов, находящихся в определенной коллекции.
removeIf (фильтр Predicate ) Этот метод удаляет элементы, удовлетворяющие упоминанию предиката.

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 () is 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) Объясните карту дерева на Java

TreeMap - это класс, реализующий интерфейс карты LinkedHashMap и HashMap. Он также может реализовывать интерфейс NavigableMap и может расширять класс AbstractMap.

71) В чем разница между Hashmap и Hashtable?

Хэш-карта Хеш-таблица
Не синхронизируется. Это синхронизировано.
HashMap допускает один ключ как нулевое значение. HashTable не допускает нулевых значений.
Итератор используется для обхода HashMap. Итератор или перечислитель используются для обхода 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 (index 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. Итератор может заменить Enumeration в Java. Это позволяет вызывающей стороне удалять элементы из коллекции. Этот метод предоставляет общий способ обхода с использованием элементов коллекции и реализации шаблона проектирования итератора.

79) Какие существуют способы перебора списка?

Программист Java collection Framework может перебирать список двумя способами: 1) используя итератор, и 2) используя его для каждого цикла.

80) В чем преимущества стека?

Преимущества стека:

  • Это помогает вам управлять данными в методе «последним вошел - первым ушел» (LIFO), что невозможно при использовании связанного списка и массива.
  • Когда функция вызывается, локальные переменные сохраняются в стеке, и он автоматически уничтожается после возврата.
  • Стек используется, когда переменная не используется вне этой функции.
  • Это позволяет вам контролировать, как выделяется и освобождается память.
  • Стек автоматически очищает объект.
  • Не легко повредить
  • Размер переменных изменить нельзя.