1. Обзор
В этой быстрой статье будет показано, как преобразовать массив в список с использованием основных библиотек Java, Guava или коллекций Apache Commons.
Эта статья является частью серии «Java - Back to Basic» здесь, на Baeldung.
2. Преобразовать список в массив
2.1. Использование простой Java
Начнем с преобразования списка в массив с использованием простой Java :
@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5); Integer[] targetArray = sourceList.toArray(new Integer[0]); }
Обратите внимание, что toArray (new T [0]) является предпочтительным способом использования метода вместо toArray (new T [size]) . Как доказывает в своем блоге Алексей Шипилев, он кажется быстрее, безопаснее и чище.
2.2. Использование гуавы
Давайте теперь используем API Guava для того же преобразования:
@Test public void givenUsingGuava_whenListConvertedToArray_thenCorrect() { List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); int[] targetArray = Ints.toArray(sourceList); }
3. Преобразовать массив в список
3.1. Использование простой Java
Начнем с простого Java-решения для преобразования массива в список :
@Test public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Arrays.asList(sourceArray); }
Обратите внимание, что это список фиксированного размера, который по-прежнему будет поддерживаться массивом. Если вам нужен стандартный ArrayList, вы можете просто создать его так:
List targetList = new ArrayList(Arrays.asList(sourceArray));
3.2. Использование гуавы
Давайте теперь используем API Guava для того же преобразования:
@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Lists.newArrayList(sourceArray); }
3.3. Использование коллекций Commons
И, наконец, давайте воспользуемся API Apache Commons Collections - CollectionUtils.addAll для заполнения элементов массива в пустой List:
@Test public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = new ArrayList(6); CollectionUtils.addAll(targetList, sourceArray); }
4. Вывод
Реализацию всех этих примеров и фрагментов кода можно найти на GitHub - это проект на основе Maven, поэтому его должно быть легко импортировать и запускать как есть.