Рубрики
Без рубрики

Коллекция против коллекций на Java

Структура сбора Данных Коллекция – это интерфейс верхнего уровня платформы Java Collection Framework. Лис… Помеченный java, архитектура.

Структура сбора Данных

Коллекция – это интерфейс верхнего уровня платформы Java Collection Framework. Список, очередь и набор являются основными вспомогательными интерфейсами этой платформы. Интерфейс коллекции является членом java.util.package . В интерфейсе коллекции есть несколько методов для добавления/удаления элементов, получения размера массива, итерации или проверки, является ли массив пустым.

Я хотел бы представить неофициальный обзор некоторых классов коллекций.

  1. ArrayList : Использует динамический массив для хранения элементов. В этом списке допускаются дубликаты. Он также основан на индексе, что идеально подходит для тех, кто хочет вставлять данные по порядку, извлекать их на основе индекса и получать доступ случайным образом. Например, вы можете создать программу, реализующую простой мобильный телефон, который способен хранить, изменять, удалять и запрашивать имена контактов, а также сохранять контакты в списке ArrayList. Вы также можете создать список воспроизведения и добавлять/удалять альбомы. Пожалуйста, имейте в виду, что удаление элемента изменяет порядок массива.

  2. Связанный список : Использует двусвязный список для хранения элементов. В общих чертах, допустим, вы являетесь группой друзей, которые хотят сформировать цепочку в связанном списке, чтобы вы могли принимать новых друзей и быстрее удалять существующих (Вау, это грубо). Правило простое; у вас будет ссылка на адрес ваших друзей слева и/или справа в зависимости от того, где вы находитесь. Любые новички приветствуются, а существующие могут уйти, когда пожелают. Когда кто-то покидает цепочку, левый и правый элементы удаляют его/ее адрес и ссылку на предыдущих и/или следующих друзей. Никому в этой цепочке не нужно двигаться дальше, чтобы заполнить пространство, оставленное предыдущими участниками! Это означает, что операция будет быстрее, чем в списке массивов, что звучит круто. (Это действительно имеет значение, если у вас тысячи друзей.) Вы также можете спросить итератора, есть ли кто-то справа или слева от вас, и двигаться дальше!

  3. HashSet : Использует хеширование для хранения элементов. Дубликаты не приветствуются, порядок вставки не поддерживается, допускается нулевое значение. Здесь неизменность имеет большое значение, потому что, если вы предпочитаете непримитивные типы данных в массиве, модификация объекта/класса объектов может привести к нежелательным результатам. Чтобы хранить ваши объекты в HashSet, вам необходимо переопределить методы equals() и hashCode(). Например, вы реализуете класс учащихся с именем и номером школы для участников класса. Чтобы вставить каждого ученика в HashSet, прежде всего, HashSet должен знать ваши критерии равенства перед вставкой. Другими словами, вы определяете, какие учащиеся равны, а какие нет. Таким образом, HashSet не будет добавлять дубликаты, равные списку. Местоположение каждого студента вычисляется с помощью метода hashCode(). Поиск студента в этом списке очень эффективен и быстр.

Примером того, как переопределить хэш-код(), является:

@Переопределение открытый хеш-код int(){ верните это.имя.хэш-код() +11; }

4. Связанный набор : В дополнение к функциям, унаследованным от класса HashSet, вы можете сохранить порядок вставки.

Занятия не ограничиваются перечисленным выше. Вы можете проверить Javadoc для просмотра всех реализующих классов.

Коллекции

Класс Java Collections, с другой стороны, является инструментом поддержки, который включает в себя множество полезных методов, работающих с коллекциями Java. Вы хотите вращать, сортировать, переворачивать элементы в вашем массиве? Вы находитесь по правильному адресу. Если элементы вашей коллекции относятся к типу списка, класс Collections предоставляет статические методы для сортировки. (Для элементов типа набора для этой цели можно использовать набор деревьев).

Предположим, у вас есть театральный класс с внутренним классом. Вы создаете список массивов с местами.

Список ArrayList<>(театр.получить места());

Вы можете вращать элементы в списке:

Коллекции.поворот (мой список, 4);

Или вы можете обратить их вспять:

Коллекции.реверс (мой список);

Вы можете ознакомиться с дальнейшими методами здесь .

Спасибо за чтение. Увидимся до моего следующего поста! Дерья

Оригинал: “https://dev.to/dantonelli/collection-vs-collections-in-java-jhc”