Перейти к основному содержимому

169 записей с тегом "Java Коллекции"

Посмотреть все теги

· 2 мин. чтения

1. Обзор

В этом кратком руководстве показано, как сделать ArrayList неизменяемым с помощью основного JDK, с помощью Guava и, наконец, с Apache Commons Collections 4.

Эта статья является частью серии « Java — Back to Basic » здесь, на ForEach.

2. С помощью JDK

· 3 мин. чтения

1. Введение

Выбор случайного элемента списка — очень простая операция, но не столь очевидная для реализации. В этой статье мы покажем наиболее эффективный способ сделать это в различных контекстах.

2. Выбор случайного предмета/предметов

Чтобы получить случайный элемент из экземпляра List , вам нужно сгенерировать случайный номер индекса, а затем получить элемент по этому сгенерированному номеру индекса с помощью метода List.get() .

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

· 5 мин. чтения

1. Обзор

В этом руководстве мы кратко рассмотрим сходства и различия в распределении памяти между массивами Java и стандартным ArrayList . Кроме того, мы увидим, как добавлять и вставлять элементы в массив и ArrayList .

2. Массивы Java и ArrayList

Массив Java — это базовая структура данных, предоставляемая языком. Напротив, ArrayList является реализацией интерфейса List , поддерживаемой массивом, и предоставляется в Java Collections Framework.

2.1. Доступ и изменение элементов

· 3 мин. чтения

1. Обзор

Мы все использовали Arrays.sort() для сортировки массива объектов или примитивов. В JDK 8 создатели расширили API, предоставив новый метод: Arrays.parallelSort() .

В этом уроке мы проведем сравнение между методами sort() и parallelSort() .

2. Массивы.sort()

Метод Arrays.sort() сортирует массив объектов или примитивов. В этом методе используется алгоритм сортировки Dual-Pivot Quicksort . Другими словами, это пользовательская реализация алгоритма быстрой сортировки для повышения производительности.

· 3 мин. чтения

1. Обзор

В этом уроке мы увидим различные способы проверки того, отсортирован ли массив.

Однако перед началом было бы интересно проверить , как сортировать массивы в Java .

2. С петлей

Один из способов проверки — цикл for . Мы можем перебирать все значения массива одно за другим.

· 5 мин. чтения

1. Обзор

В этом руководстве мы собираемся изучить различные способы сравнения двух HashMaps в Java .

Мы обсудим несколько способов проверки сходства двух HashMaps . Мы также будем использовать Java 8 Stream API и Guava, чтобы получить подробные различия между различными HashMaps .

2. Использование Map.equals()

Во- первых, мы будем использовать Map.equals() , чтобы проверить, имеют ли два HashMap одинаковые записи:

· 4 мин. чтения

1. Обзор

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

Мы также рассмотрим некоторые внешние библиотеки, которые могут помочь нам в конкретных случаях.

2. Мелкие и глубокие копии

Во-первых, давайте разберемся с концепцией мелких и глубоких копий в HashMaps .

· 4 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим различные способы поиска максимального значения в карте Java . Мы также увидим, как новые возможности Java 8 упростили эту операцию.

Прежде чем мы начнем, давайте кратко вспомним, как объекты сравниваются в Java.

Обычно объекты могут выражать естественный порядок путем реализации метода compareTo() из интерфейса Comparable . Однако порядок, отличный от естественного, может использоваться через объект Comparator . Мы увидим их более подробно по ходу дела.

2. До Java 8

· 13 мин. чтения

1. Обзор

В этой статье мы собираемся более подробно изучить самую популярную реализацию интерфейса Map из Java Collections Framework, продолжая с того места, на котором остановилась наша вступительная статья.

Прежде чем мы приступим к реализации, важно отметить, что основные интерфейсы коллекций List и Set расширяют Collection , а Map — нет.

Проще говоря, HashMap хранит значения по ключу и предоставляет API для добавления, извлечения и обработки сохраненных данных различными способами. Реализация основана на принципах хеш-таблицы , которые на первый взгляд кажутся сложными, но на самом деле их очень легко понять.

Пары ключ-значение хранятся в так называемых корзинах, которые вместе составляют то, что называется таблицей, которая на самом деле является внутренним массивом.

Как только мы узнаем ключ, под которым хранится или должен храниться объект, операции хранения и извлечения выполняются за постоянное время , O(1) в хеш-карте с хорошими размерами.

· 4 мин. чтения

1. Введение

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

Чтобы узнать больше об интерфейсе карты , вы можете прочитать эту статью .

2. Итеративный подход