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

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

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

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

1. Обзор

В этом руководстве мы увидим, как создавать нулевые безопасные потоки из коллекций Java.

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

Если вы не знакомы с какой-либо из этих тем, сначала ознакомьтесь с нашими предыдущими статьями: Новые функции в Java 8 , Руководство по Java 8 (необязательно) и Введение в потоки Java 8 .

2. Зависимость от Maven

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

В этом кратком руководстве показано, как удалить все нулевые элементы из списка с помощью простой Java, Guava, коллекций Apache Commons и более новой поддержки лямбда-выражений Java 8.

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

1. Удалите нули из списка , используя обычную Java

Java Collections Framework предлагает простое решение для удаления всех нулевых элементов в списке — базовый цикл while :

@Test
public void givenListContainsNulls_whenRemovingNullsWithPlainJava_thenCorrect() {
List<Integer> list = Lists.newArrayList(null, 1, null);
while (list.remove(null));

assertThat(list, hasSize(1));
}

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

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

1. Обзор

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

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

2. Неизменяемый против неизменного

Немодифицируемая карта — это просто оболочка над модифицируемой картой, и она не позволяет изменять ее напрямую:

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

1. Введение

Эта статья кулинарной книги состоит из небольших и целенаправленных рецептов и фрагментов кода для использования коллекций в стиле Guava.

Формат представляет собой растущий список примеров кода без необходимости дополнительных объяснений — он предназначен для обеспечения легкого доступа к общим использованиям API во время разработки.

2. Рецепты

понизить List<Parent> до List<Child>

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

1. Обзор

В этом уроке мы узнаем, как использовать Joiner и Splitter в библиотеке Guava . Мы преобразуем коллекции в String с помощью Joiner и разделим String на коллекцию с помощью Splitter .

2. Преобразование списка в строку с помощью Joiner

Давайте начнем с простого примера объединения списка в строку с помощью Joiner . В следующем примере мы объединяем список имен в одну строку , используя запятую «,» в качестве разделителя:

@Test
public void whenConvertListToString_thenConverted() {
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
String result = Joiner.on(",").join(names);

assertEquals(result, "John,Jane,Adam,Tom");
}

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

1. Введение

Эта кулинарная книга иллюстрирует, как использовать сопоставители Hamcrest для работы с коллекциями и их тестирования .

Формат поваренной книги ориентирован на примеры и практичен – никаких лишних деталей и объяснений не требуется.

Во-первых, давайте сделаем быстрый статический импорт, чтобы охватить большинство служебных API, которые мы собираемся использовать дальше:

import static org.hamcrest.Matchers.*;

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

1. Обзор

В этом уроке я покажу, как разделить список на несколько подсписков заданного размера.

Для относительно простой операции нет поддержки в стандартных API коллекций Java. К счастью, и в Guava , и в Apache Commons Collections операция реализована аналогичным образом.

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

2. Используйте Guava для разделения списка

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

1. Обзор

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

Постоянные структуры данных (коллекции) не могут быть изменены непосредственно во время операции обновления, вместо этого возвращается новый объект с результатом операции обновления. Они не только неизменяемые, но и постоянные — это означает, что после модификации предыдущие версии коллекции остаются неизменными.

PCollections аналогична платформе Java Collections и совместима с ней.

2. Зависимости

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

1. Обзор

Eclipse Collections — это еще одна улучшенная структура коллекций для Java.

Проще говоря, он предоставляет оптимизированные реализации, а также некоторые дополнительные структуры данных и функции, которых нет в ядре Java.

Библиотека предоставляет как изменяемые, так и неизменяемые реализации всех структур данных.

2. Зависимость от Maven

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

1. Обзор

В этой статье мы собираемся изучить внутреннюю реализацию класса LinkedHashMap . LinkedHashMap — это обычная реализация интерфейса Map .

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

2. LinkedHashMap против HashMap

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