80 Java Коллекции Интервью Вопросы и Ответы (2024)
Java Коллекции Интервью, вопросы и ответы для первокурсников
1) Что такое фреймворк Java?
Фреймворк — это популярная и готовая архитектура, содержащая набор классов и интерфейсов.
2) Что такое платформа Collection? Java?
Collection Framework — это группа классов и интерфейсов, которая используется для хранения объектов и управления ими. Он предоставляет различные классы, такие как Vector, ArrayList, HashSet, Stack и т. д. Java Фреймворк коллекций также можно использовать для таких интерфейсов, как Queue, Set, List и т. д.
3) Объясните класс коллекций
java.util.Collections — это класс, состоящий из статических методов, которые работают с коллекциями. Он содержит полиморфные алгоритмы для работы с коллекциями, «обертками». Этот класс содержит методы для таких алгоритмов, как двоичная сортировка, поиск, перетасовка и т. д.
4) Что такое хэш-код()?
hashCode() — это метод, который возвращает целочисленный хеш-код.
5) Различайте ArrayList и Vector в Java каркас коллекции.
ArrayList | вектор |
---|---|
ArrayList не может быть синхронизирован. | Вектор может быть синхронизирован. |
Это не устаревший класс. | Это унаследованный класс. |
Он может увеличить свой размер на 50% от размера массива. | Он может увеличить свой размер, удвоив размер массива. |
ArrayList не является потокобезопасным. | Вектор является потокобезопасным. |
6) Что такое ArrayList Java?
ArrayList — это структура данных, которую можно растягивать для размещения дополнительных элементов внутри себя и сжимать до меньшего размера при удалении элементов. Это очень важная структура данных, полезная для управления динамическим поведением элементов.
7) Разница между Iterator и ListIterator
Разница между Iterator и ListIterator заключается в следующем:
Итератор | ListIterator |
---|---|
Итератор может перемещаться по элементам массива в прямом направлении. | ListIterator может перемещаться по элементам массива как в обратном, так и в прямом направлении. |
Его можно использовать в очереди, списке и наборе. | Его можно использовать в списке. |
Он может выполнять только операцию удаления. | Он может выполнять операции добавления, удаления и установки при перемещении по коллекции. |
8) В чем разница между Итератором и Перечислением?
Разница между Итератором и Перечислением
Итератор | Перечисление |
---|---|
Итератор может обрабатывать как устаревшие, так и неунаследованные элементы. | Перечисление может проходить только по устаревшим элементам. |
Итератор работает без сбоев. | Перечисление не является безотказным. |
Итератор очень медленный по сравнению с перечислением. | Перечисление выполняется быстрее по сравнению с Iterator. |
Итератор может выполнять операцию удаления при обходе коллекции. | Перечисление может выполнять только операцию обхода коллекции. |
9) Определите BlockingQueue
BlockingQueue — это интерфейс, используемый в Java который может расширить очередь. Он обеспечивает параллелизм в различных операциях очереди, таких как извлечение, вставка, удаление и т. д.
Очередь ожидает, чтобы стать непустой во время получения каких-либо элементов. BlockingQueue не должен содержать нулевые элементы. Реализация этой очереди является потокобезопасной.
Синтаксис BlockingQueue:
public interface BlockingQueue<E> extends Queue <E>
10) Объясните переопределение метода равенства().
Метод равенства используется для проверки сходства между двумя объектами. В случае, если программист хочет проверить объект по свойству, его необходимо переопределить.
11) В чем разница между Comparable и Comparator?
Разница между Comparable и Comparator заключается в следующем:
сравнимый | Компаратор |
---|---|
Comparable предоставляет метод CompareTo() для сортировки элементов в Java. | Компаратор предоставляет метод Compare() для сортировки элементов в Java. |
Сопоставимый интерфейс присутствует в пакете java.lang. | Интерфейс компаратора присутствует в Java. пакет утилит. |
Логика сортировки должна находиться в том же классе, объект которого вы собираетесь сортировать. | Логика сортировки должна быть вынесена в отдельный класс, чтобы писать разные сортировки по разным атрибутам объектов. |
Класс, объекты которого вы хотите отсортировать, должен реализовать сопоставимый интерфейс. | Класс, объекты которого вы хотите отсортировать, не нуждается в реализации интерфейса компаратора. |
Он обеспечивает отдельные последовательности сортировки. | Он обеспечивает несколько последовательностей сортировки. |
Этот метод может сортировать данные в соответствии с естественным порядком сортировки. | Этот метод сортирует данные в соответствии с настроенным порядком сортировки. |
Это влияет на исходный класс. т. е. фактический класс изменяется. | Это не влияет на исходный класс, т. е. фактический класс не изменяется. |
Часто реализуется в API с помощью классов Calendar, Wrapper, Date и String. | Он реализован для сортировки экземпляров сторонних классов. |
Все классы-оболочки и класс String реализуют аналогичный интерфейс. | Единственными реализованными классами Comparator являются Collator и RuleBasedColator. |
12) Объясните функцию равенства() на примере
Equals() проверяет, равен ли числовой объект объекту, который передается в качестве аргумента, или нет.
Синтаксис методаquals():
public boolean equals(Object o)
Этот метод принимает два параметра: 1) любой объект, 2) возвращаемое значение. Он возвращает true, если переданный аргумент не равен нулю и является объектом аналогичного типа, имеющим то же числовое значение.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
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 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) Приведите пример сортировки массива в порядке убывания.
Пример сортировки массива по убыванию:
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) Объясните основные интерфейсы Java структура коллекций
Java Каркас коллекции является корнем иерархии коллекций. Он представляет собой группу объектов как ее элементы. Java язык программирования не обеспечивает прямой реализации такого интерфейса.
- Набор: Set — это коллекция, не имеющая повторяющихся элементов. Он использует хеш-таблицу для хранения элементов.
- Список: Список — это упорядоченная коллекция, которая может содержать повторяющиеся элементы. Он позволяет разработчикам получать доступ к любым элементам из своего почтового ящика. Список подобен массиву, имеющему динамическую длину.
- КАРТА: Это объект, который сопоставляет ключи со значениями. Он не может содержать повторяющиеся ключи. Каждому ключу можно сопоставить хотя бы одно значение.
18) Каковы особенности Java Хэшмап?
Особенности Java Хэш-карта составляют:
- Значения можно сохранить на карте, сформировав пару ключ-значение. Значение можно получить с помощью ключа, передав его правильному методу.
- Если на карте не существует элемента, будет выдано исключение NoSuchElementException.
- HashMap хранит только ссылки на объекты. Вот почему невозможно использовать примитивные типы данных, такие как double или int. Используйте класс-обертку (например, Integer или Double) вместо
19) Что такое стек?
Стек — это специальная область памяти компьютера, в которой хранятся временные переменные, созданные функцией. В стеке переменные объявляются, сохраняются и инициализируются во время выполнения.
20) Что такое связанный список?
Связанный список — это структура данных, в которой может храниться коллекция элементов. Другими словами, связанные списки можно использовать для хранения нескольких объектов одного типа. Каждая единица или элемент списка называется узлом. Узел в Связанном списке содержит свои данные и адрес следующего узла. Это как цепь. Связанные списки используются для создания графиков и деревьев.
Java Коллекции Интервью, вопросы и ответы для опытных
21) Приведите пример ArrayList.
Пример ArrayList:
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) Объясните связанный список, поддерживаемый Java
Два типа связанного списка, поддерживаемые Java составляют:
- Односвязный список: Односвязный список — это тип структуры данных. В односвязном списке каждый узел списка хранит содержимое узла и ссылку или указатель на следующий узел списка. Он не хранит никаких ссылок или указателей на предыдущий узел.
- Двусвязные списки: Двусвязные списки — это особый тип связанного списка, в котором обход элементов данных может выполняться в обоих направлениях. Это стало возможным благодаря наличию двух ссылок в каждом узле: одна, которая соединяется со следующим узлом, и другая, которая соединяется с предыдущим узлом.
23) Объясните методы, предоставляемые интерфейсом Queue?
Методы Java Интерфейс очереди:
Способ доставки | Описание |
---|---|
логическое добавление (объект) | Вставляет указанный элемент в очередь. Он возвращает true в случае успеха. |
логическое предложение (объект) | Этот метод используется для вставки элемента в очередь. |
Удаление объекта () | Он извлекает и удаляет заголовок очереди. |
Опрос объекта () | (): Он извлекает и удаляет заголовок очереди или возвращает ноль, если он пуст. |
Опрос объекта () | Он извлекает и удаляет заголовок очереди или возвращает ноль, если он пуст. |
Элемент объекта () | Извлекает данные из очереди, но не удаляет ее заголовок. |
Обзор объекта () | Извлекает данные из очереди, но не удаляет ее заголовок, или в случае, если очередь пуста, она получит значение null. |
24) Упомяните методы, предоставляемые классом Stack.
Важными методами, предоставляемыми классом Stack, являются:
- толкать(): Вставьте элемент в стек.
- пустой (): Этот метод определяет, пуст ли стек или нет.
- поп (): Эти Java Метод платформы сбора удаляет объект из стека.
- поиск (): Этот метод ищет элементы в стеке.
- заглянуть (): Эти Java Метод просматривает объект стека, не удаляя его.
25) Определите пустойSet() в Java структура коллекций
Метод пустойSet(), который возвращает пустой неизменяемый набор всякий раз, когда программисты пытаются удалить нулевые элементы. Набор, возвращаемый пустойSet(), является сериализуемым. Синтаксис этого метода:
публичный статический финал Набор пустой набор()
26) Различайте коллекцию и коллекции
Разница между коллекцией и коллекциями:
Транспортировка | Коллекции |
---|---|
Коллекция представляет собой интерфейс. | Коллекции — это класс. |
Он представляет группу объектов как единое целое. | Он определяет различные служебные методы для объектов коллекции. |
Коллекция является корневым интерфейсом Java Каркас коллекции. | Коллекции — это общий служебный класс. |
Этот интерфейс используется для получения структур данных коллекции. | Этот класс содержит статические методы для управления структурой данных. |
27) Определите LinkedHashSet в Java Каркас коллекции?
LinkedHashSet является подклассом класса HashSet и реализует интерфейс set. Это упорядоченная версия HashSet, которая поддерживает двусвязный список для всех своих элементов.
28) В чем разница между отказоустойчивым и отказобезопасным?
FailFast | Отказоустойчивость |
---|---|
Он не позволяет изменять коллекцию во время итерации. | Это позволяет модифицировать коллекцию во время итерации. |
Он может выдать исключение ConcurrentModificationException. | Он не может выдать никаких исключений. |
Он использует исходную коллекцию для перемещения по элементам. | Для перемещения по элементам он использует исходную копию коллекции. |
Нет необходимости в дополнительной памяти. | Требуется дополнительная память. |
29) Список представлений коллекции интерфейса карты.
Представления коллекции интерфейса карты: 1) представление набора ключей, 2) представление набора значений и 3) представление набора записей.
30) Каковы преимущества системы сбора данных в Java?
Преимущества Collection Framework в Java составляют:
- Java Платформа сбора данных предлагает высокоэффективные и действенные структуры данных, которые повышают точность и скорость работы программы.
- Программа разработана совместно с Java Каркас коллекции прост в обслуживании.
- Разработчик может смешивать классы с другими типами, что повышает возможность повторного использования кода.
- Команда Java Платформа коллекций позволяет программистам изменять примитивные типы коллекций по своему усмотрению.
31) Как лучше сортировать объекты коллекции? Java?
Хороший способ сортировки Java объекты коллекции используют интерфейсы Comparable и Comparator. Разработчик может использовать Collections.sort(), элементы сортируются на основе упоминания порядка в функции CompareTo().
Когда разработчик использует коллекции, сортировку (компаратор), он сортирует объекты в зависимости от метода сравнения() интерфейса компаратора.
32) Объясните вектор в Java
Вектор аналогичен массиву. Он имеет компоненты, доступ к которым можно получить с помощью значения индекса. Векторы могут содержать устаревший метод, который не является частью платформы сбора данных.
33) В чем разница между Set и Map?
Поставьте | Карта |
---|---|
Набор принадлежит package-java.util. | Карта принадлежит пакету java.util. |
Он может расширить интерфейс коллекции. | Он не расширяет интерфейс коллекции. |
Он не допускает дублирования значений. | Это позволяет дублировать значения. |
Set может сортировать только одно нулевое значение. | Карта может сортировать несколько нулевых значений. |
34) Определить класс словаря
Класс Dictionary представляет собой Java класс, который имеет возможность хранить пары ключ-значение.
35) Определить EnumSet
java.util.EnumSet — это реализация Set, которую можно использовать с типами перечислений. EnumSet, содержащий все элементы, должен происходить из одного типа перечисления, указанного явно или неявно. Он не синхронизирован, а также не допускаются нулевые ключи. EnumSet предоставляет такие методы, как EnumSetof(E first, E… rest), complexOf(EnumSet s) и copyOf(Collection c).
36) Каковы два способа удаления дубликатов из ArrayList?
Два способа удаления дубликатов из ArrayList:
- Набор хешей: Разработчик может использовать HashSet для удаления повторяющегося элемента из ArrayList. Недостатком является то, что он не может сохранить порядок вставки.
- СвязанныйHashSet: Разработчики также могут поддерживать порядок вставки, используя LinkedHashSet вместо HashSet.
37) Что такое IdentityHashMap?
IdentityHashMap — это класс, который реализует интерфейсы Serializable, Clonable, Map и расширяет класс AbstractMap. Он предназначен для случаев, когда необходима семантика равенства ссылок.
38) Что такое WeakHashMap?
WeakHashMap — это реализация Java Карта. Он используется для хранения слабых ссылок на свои ключи. Сортировка с использованием этой карты позволяет собирать пару ключ-значение как мусор. На его ключ нет ссылок за пределами WeakHashMap.
39) Каковы методы обеспечения потокобезопасности сбора данных?
Методы обеспечения безопасности потоков сбора:
- Collections.synchronizedList(список);
- Collections.synchronizedMap(карта);
- Collections.synchronizedSet(набор);
40) Объясните, что не поддерживаетсяOperationException
Не поддерживаетсяOperationException — это исключение, которое генерируется для методов, которые не поддерживаются фактическим типом коллекции.
Например, разработчик создает список, доступный только для чтения, используя «Collections.unmodifyingList(list)» и вызывая методы call(), add() или Remove(). Он должен явно выдать UnsupportedOperaцияИсключение.
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) Объясните шаблон проектирования, которому следует Итератор.
Итератор соответствует деталям шаблона проектирования итератора. Он позволяет разработчику перемещаться по коллекциям объектов, используя общий интерфейс, не зная его реализации.
45) Что такое peek() интерфейса Queue?
Peek() — метод интерфейса очереди. Он извлекает все элементы, но не удаляет заголовок очереди. Если очередь пуста, этот метод вернет значение null.
46) Что такое CopyOnWriteArrayList?
CopyOnWriteArrayList — это вариант ArrayList, в котором такие операции, как добавление и установка, реализуются путем создания копии массива. Он является потокобезопасным и поэтому не генерирует исключение ConcurrentModificationException. Этот ArrayLists допускает все элементы, включая нулевые.
47) Разница между ArrayList и LinkedList
Разница между ArrayList и LinkedList заключается в следующем:
ArrayList | Связанный список |
---|---|
Он использует динамический массив. | Он использует двусвязный список. |
ArrayList не предпочтителен для манипуляций. | LinkedList предпочтительнее для манипуляций. |
ArrayList обеспечивает произвольный доступ. | LinkedList не обеспечивает произвольный доступ. |
ArrayList хранит только объекты, поэтому требуется меньше накладных расходов памяти. | LinkedList хранит объект, а также объект адреса; следовательно, требуется больше ресурсов памяти. |
48) Объяснить методы интерфейса итератора.
Методы интерфейса итератора:
Способ доставки | Описание |
---|---|
публичное логическое значение hasNext() | Он возвращает true в итераторе, в котором есть элементы; в противном случае он возвращает false. |
публичный объект следующий() | Этот метод возвращает элемент и перемещает указатель на следующее значение. |
public void remove () | Эти Java метод может удалить последние элементы, возвращенные итератором. Public void Remove() используется реже. |
49) Каковы методы класса HashSet?
Методы класса HashSet:
методы | Описание |
---|---|
логическое добавление (Объект o) | Этот метод добавляет элемент упоминания в этот набор, если он еще не присутствует. |
логическое значение содержит (Объект o): | Он возвращает true, если набор содержит указанный элемент. |
недействительный очиститель(): | Этот метод удаляет элементы набора. |
логическое значение пусто(): | Он возвращает true в том случае, если в наборе нет элементов. |
логическое удаление (Объект o): | Он удаляет указанный элемент из набора. |
клон объекта(): | Этот метод возвращает копию экземпляра HashSet: сами элементы не клонируются. |
итератор итератор() | Он возвращает итератор по элементам в этом наборе. |
размер целого(): | Он возвращает количество элементов, доступных в наборе. |
50)Каковы методы Java Класс TreeSet?
Методы Java Класс TreeSet:
методы | Описание |
---|---|
логическое addAll (Коллекция c) | Добавьте в этот набор все элементы указанной коллекции. |
логическое содержит (Объект o) | Возвращает true, если набор содержит элемент упоминания. |
логическое isEmpty () | Эти Java метод возвращает true, если этот набор не содержит элементов. |
логическое удаление (объект o) | Удалить указанный элемент из набора. |
void add (Объект o) | Он добавляет указанный элемент в набор. |
пусто ясно () | Эти Java метод удаляет все элементы из набора. |
51) Объясните связанный HashSet
Java Класс LinkedHashSet представляет собой реализацию связанного списка и хэш-таблицы интерфейса Set. Он содержит уникальные элементы, такие же, как HashSet. Связанный HashSet в Java также предоставляет дополнительные операции над множествами, которые могут поддерживать порядок вставки.
52) Какие важные методы используются в связанном списке?
Важными методами, используемыми в связанном списке, являются:
Способ доставки | Описание |
---|---|
логическое добавление (Объект o) | Он используется для добавления указанного элемента в конец вектора. |
логическое содержит (Объект o) | Это метод, который возвращает true, если этот список содержит указанный элемент. |
void add (индекс int, элемент Object) | Вставляет элемент в указанный элемент вектора. |
void addFirst (Объект o) | Он используется для вставки данного элемента в начало. |
void addLast (Объект o) | Он используется для добавления данного элемента в конец. |
Целочисленный размер() | Этот метод можно использовать для возврата общего количества элементов в списке. |
логическое удаление (объект o) | Он может удалить первое вхождение указанного элемента из этого списка. |
int indexOf (элемент объекта) | Эти Java Метод возвращает индекс с первым появлением элемента упоминания в этом списке или -1. |
int LastIndexOf (элемент объекта) | Кокаин проходит Java метод, который возвращает индекс последнего вхождения указанного элемента в этом списке, или -1. |
53) Перечислите различные классы, доступные в наборах.
В наборах доступны различные классы: HashSet, TreeSetand и LinkedHashSet.
54) Список методов, доступных в Java Интерфейс очереди
- логическое добавление (объект)
- логическое предложение (объект)
- удаление объекта()
- опрос объекта()
- элемент объекта()
- просмотр объекта()
55) Различайте список и набор.
Список | Поставьте |
---|---|
Упорядоченный набор элементов | Неупорядоченная коллекция элементов |
Сохраняет порядок вставки | Не сохраняет порядок вставки |
Повторяющиеся значения допускаются. | Повторяющиеся значения не допускаются. |
Может храниться любое количество нулевых значений. | Можно сохранить только одно нулевое значение. |
ListIterator можно использовать для перемещения по списку в любом направлении. | ListIterator нельзя использовать для перемещения по Set |
Содержит устаревший класс под названием вектор. | Не содержит устаревших классов |
Java Коллекции Интервью, вопросы и ответы для более 5 лет опыта
56) Объясните каждый цикл на примере.
Цикл For-Each — это еще одна форма цикла for, используемая для обхода массива. Это значительно сокращает код, и индекс или, скорее, счетчик в цикле не используется.
Пример для каждого цикла:
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) Объясните оператор алмаза
Оператор Diamond позволяет компилятору собирать аргументы типа универсального класса. В Java Разработчик SE может заменить параметризованный конструктор пустым набором параметров (<>), известным как оператор «ромб».
58) Объяснить интерфейс произвольного доступа
Интерфейс RandomAccess используется реализациями List для обозначения того, что они поддерживают быструю работу.
59) Назовите классы коллекций, реализующие интерфейс произвольного доступа.
JavaВ пакете .util есть классы, которые могут реализовать интерфейс произвольного доступа: CopyOnWriteArrayList, Stack, ArrayList и Vector.
60) Как объединить несколько списков ArrayList?
Список предоставляет метод addall() для нескольких ArrayList в Java.
Например, рассмотрим два списка: 1) AreaList и 2) SecondAreaList. Разработчик может присоединиться к ним с помощью addall(), например:
areaList.addAll(второйAreaList);
61) Объяснить интерфейс дека
Java.util.Deque — это Java, интерфейс, расширяющий интерфейс Queue. Он обеспечивает поддержку вставки и удаления элементов на обоих концах. Эта очередь также называется двухсторонней очередью.
62) Объясните Linkedhashmap
LinkedHashMap — это реализация интерфейса Map. Он также может расширять класс HashMap. Таким образом, как и HashMap, LinkedHashMap позволяет Java разработчики разрешают один нулевой ключ и более одного нулевого значения.
63) Объясните методы удаления элементов из ArrayList.
Методы удаления элементов из ArrayList:
Способ доставки | Описание |
---|---|
Чисто() | Этот метод удаляет элементы из ArrayList. |
удалить (индекс int) | Этот метод ArrayList может удалить элемент в определенной позиции. |
удалить (Объект o) | Он может удалить первое вхождение элемента упоминания из ArrayList. |
убрать все() | Он может удалить список элементов, находящихся в определенной коллекции. |
удалитьЕсли(предикат фильтр) | Этот метод удаляет элементы, удовлетворяющие упоминанию предиката. |
64) Объясните карту. запись на карте
Map.entry — это Java интерфейс java.util. Он имеет вложенный интерфейс в Map. Этот интерфейс должен быть квалифицирован именем класса или интерфейса, членом которого он является. Поэтому он квалифицирован как Map. Entry. Он представляет пару ключ-значение, которая может формировать элемент Map.
Этот метод возвращает представление коллекции. Например, рассмотрим cityMap как карту. Разработчик может использовать входSet(), чтобы получить заданное представление карты, содержащей элемент Map.Entry. Программист также может использовать getKey() и getValue() Map.Entry, чтобы получить пару ключа и значения карты.
65) Какой метод используется для сортировки массива по возрастанию?
Java Метод структуры коллекции Collections.sort() используется для сортировки массива в порядке возрастания.
66) Как измерить производительность ArrayList?
Производительность ArrayList можно измерить по:
- Добавление элемента: Разработчик может добавить элемент в конец ArrayList, используя метод add(E e). Это О(1). В худшем случае оно может перейти к O(n). Это может произойти, если разработчик добавит больше элементов, чем вместимость массива.
- Получение элемента: Разработчик может получить доступ к индексу массива, используя get(int index). В этом случае производительность можно измерить с помощью ArrayList get() равно O(1).
- Удаление элемента: В случае, если разработчики удаляют элемент с помощью метода удаления (int index), производительность ArrayList можно рассчитать с помощью указанной операции удаления (int index) метода O (n – index).
67) Объясните класс LinkedList.
Класс LinkedList в Java реализует Deque и List с использованием двусвязного списка. В двусвязном списке есть закрытый узел класса, который обеспечивает его структуру. Он также имеет переменную item для хранения значения и ссылки на класс Node. Это можно использовать для соединения следующего и предыдущего узлов.
68) Приведите пример Hashmap.
Пример Hashmap:
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) Как перебрать карту?
Разработчик не может напрямую перебирать карту, но в этом интерфейсе есть два метода, которые предоставляют набор представлений карты. Эти методы:
- Набор >EntrySet(): Это метод, который возвращает набор, записи которого упоминаются на карте. Эти записи обычно вызывают возражения, имеющие тип Map. Вход.
- Набор набор ключей(): Эти Java Метод возвращает набор, имеющий ключ карты.
70) Объясните древовидную карту в Java
TreeMap — это класс, реализующий интерфейсы Map LinkedHashMap и HashMap. Он также может реализовать интерфейс NavigableMap и расширять класс AbstractMap.
71) В чем разница между Hashmap и Hashtable?
Хэш-карта | Хеш-таблица |
---|---|
Он не синхронизирован. | Он синхронизирован. |
Хэшмап допускает один ключ как нулевое значение. | HashTable не допускает нулевых значений. |
Итератор используется для перемещения по HashMap. | Для перемещения по HashTable используется либо Iterator, либо Enumerator. |
Его можно использовать как для HashTable, так и для HashMap, и он работает без сбоев. | Его можно использовать с HashTable, и он надежен. |
HashMap работает быстрее, чем HashTable. | Hashtable не намного быстрее по сравнению с HashMap. |
72) Объясните внутреннюю работу HashSet в Java
ХэшУстановить в Java внутренне использует HashMap для хранения элементов. Он также может хранить уникальные значения без повторяющихся значений.
In Java, разработчик HashSet может иметь метод add(E e), который принимает только добавляемый элемент в качестве параметра. Он не принимает пару ключ-значение.
73) Объясните обозначение Big-O на примере.
Обозначение Big-O отображает производительность алгоритма как количество элементов в ArrayList. Разработчик может использовать нотацию Big-O для выбора реализации коллекции. Он основан на производительности, времени и памяти.
Например, ArrayList get(index i) — это метод выполнения операции с постоянным временем. Это не зависит от общего количества элементов, доступных в списке. Следовательно, производительность в нотации Big-O равна O(1).
74) Объясните лучшие практики в Java Рамки сбора
Лучшие практики в Java Структура коллекции:
- Выбор правильного типа сбора зависит от необходимости.
- Избегайте перефразирования или изменения размера, оценивая общее количество элементов, которые будут храниться в классах коллекций.
- Написать Java программа с точки зрения интерфейсов. Это поможет разработчику легко изменить реализацию в будущем.
- Разработчик может использовать Generics для обеспечения безопасности типов.
- Используйте неизменяемые классы, заданные Java Комплект для разработки. Избегайте реализации методовquals() и hashCode() для пользовательских классов.
- Программист должен использовать служебный класс Collections для алгоритмов или для получения доступных только для чтения, синхронизированных или пустых коллекций. Это повысит возможность повторного использования кода при низкой ремонтопригодности.
75) Объясните различные типы очередей в Java
В системе есть три типа очередей. Java:
- Приоритетная очередь: Это особый тип очереди, в котором элементы сортируются в соответствии с их естественным порядком или пользовательским компаратором.
- Круговая очередь: Это тип Очереди, в которой пользовательские операции выполняются по методу FIFO. Последний элемент соединяется с первой позицией, чтобы образовать круг.
- Double-законченная очередь: Двусторонняя очередь — это абстрактный тип данных, обобщающий очередь. Элементы в этой очереди можно добавлять или удалять из головы или хвоста.
76) В чем разница между стеком и очередью?
Стек | Очередь |
---|---|
Принцип работы стека – LIFO. | Принцип работы очереди — FIFO. |
Один конец используется для вставки или удаления элементов. | Один конец используется для вставки, а другой — для удаления элементов. |
Он использует один указатель. | Он использует два указателя в простой очереди. |
У него нет какого-либо варианта. | У него есть такие варианты, как приоритетная очередь, круговая очередь, двусторонняя очередь. |
Это простой в использовании. | Это не просто в использовании. |
77) В чем разница между массивом и стеком?
Разница между массивом и стеком заключается в следующем:
массив | Стек |
---|---|
Это коллекция элементов, которые идентифицируются индексом. | Это операция сбора, выполняющая функции операций push и pop. |
Он имеет элементы типов данных, которые одинаковы. | Он имеет элементы типов данных, которые различаются. |
Элементы можно удалять или добавлять в массив с помощью операции произвольного доступа. | Элементы можно удалять или добавлять в стек с помощью операции LIFO. |
78) Определить итератор()
Iterator() — это интерфейс, который предоставляет методы для итерации коллекции. Итератор может заменить перечисление в Java. Позволяет вызывающему удалять элементы из коллекции. Метод предоставляет универсальный способ обхода с использованием элементов коллекции и реализации шаблона проектирования итератора.
79) Каковы различные способы перебора списка?
Java Программист Collection Framework может перебирать список двумя способами: 1) используя итератор и 2) используя его для каждого поиска.
80) Каковы преимущества стека?
Преимущества стека:
- Это помогает вам управлять данными методом «последним поступило — первым отправлено» (LIFO), что невозможно при использовании связанного списка и массива.
- При вызове функции локальные переменные сохраняются в стеке и автоматически уничтожаются после возврата.
- Стек используется, когда переменная не используется вне этой функции.
- Это позволяет вам контролировать выделение и освобождение памяти.
- Стек автоматически очищает объект.
- Не легко испортить
- Переменные нельзя изменить размер.
Эти вопросы для собеседования также помогут вам в устной речи.