Автор оригинала: Eugen Paraschiv.
1. Обзор
В этой короткой статье мы будем смотреть на преобразование между массив и Установить – сначала с помощью простой Java, затем Гуава и библиотеки коллекций Викисклада от Apache.
Эта статья является частью серии “Java – Назад к основным” здесь, на Baeldung.
2. Преобразование массива в набор
2.1. Использование простой Java
Давайте сначала посмотрим, как превратить массив в Установить с помощью простого Java :
@Test public void givenUsingCoreJavaV1_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; SettargetSet = new HashSet (Arrays.asList(sourceArray)); }
Кроме того, Установить могут быть созданы сначала, а затем заполнены элементами массива:
@Test public void givenUsingCoreJavaV2_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; SettargetSet = new HashSet (); Collections.addAll(targetSet, sourceArray); }
2.2. Использование Google Guava
Далее, давайте посмотрим на преобразование Гуавы из массива в набор :
@Test public void givenUsingGuava_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; SettargetSet = Sets.newHashSet(sourceArray); }
2.3. Использование коллекций Apache Commons
Наконец, давайте сделаем преобразование с помощью библиотеки коллекции Викисклада от Apache:
@Test public void givenUsingCommonsCollections_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; SettargetSet = new HashSet<>(6); CollectionUtils.addAll(targetSet, sourceArray); }
3. Преобразование набора в Array
3.1. Использование простой Java
Теперь давайте посмотрим на обратное – преобразование существующего набора в массив :
@Test public void givenUsingCoreJava_whenSetConvertedToArray_thenCorrect() { SetsourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); Integer[] targetArray = sourceSet.toArray(new Integer[0]); }
Обратите внимание, что toArray (новый ТХ0) является предпочтительным способом использования метода в течение toArray (новый размер Т)) . Как доказывает в своем блог , кажется, быстрее, безопаснее и чище.
3.2. Использование Гуавы
Далее – решение Guava:
@Test public void givenUsingGuava_whenSetConvertedToArray_thenCorrect() { SetsourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5); int[] targetArray = Ints.toArray(sourceSet); }
Обратите внимание, что мы используем Ints API от Guava, поэтому это решение специфичен для типа данных, с который мы работаем.
4. Заключение
Реализация всех этих примеров и фрагментов кода можно найти на Гитхуб – это Maven основе проекта, поэтому она должна быть легко импортировать и работать, как она есть.