Автор оригинала: Eugen Paraschiv.
1. Обзор
В этой краткой статье будет показано, как преобразовать массив в список с помощью основных библиотек Java, коллекций Guava или Apache Commons.
Эта статья является частью серии “Java – Back to Basic” здесь, на Baeldung.
2. Преобразование списка в массив
2.1. Использование простой Java
Давайте начнем с преобразования из List в массив с помощью простой Java :
@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { ListsourceList = 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() { ListsourceList = 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 }; ListtargetList = Arrays.asList(sourceArray); }
Обратите внимание, что это список фиксированного размера, который по-прежнему будет поддерживаться массивом. Если вам нужен стандартный ArrayList , вы можете просто создать его как таковой:
ListtargetList = new ArrayList (Arrays.asList(sourceArray));
3.2. Использование гуавы
Теперь давайте использовать API Guava для того же преобразования:
@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; ListtargetList = Lists.newArrayList(sourceArray); }
3.3. Использование коллекций Commons
И, наконец, давайте использовать Apache Commons Collections – CollectionUtils.addAll API для заполнения элементов массива в пустой список:
@Test public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; ListtargetList = new ArrayList<>(6); CollectionUtils.addAll(targetList, sourceArray); }
4. Заключение
Реализацию всех этих примеров и фрагментов кода можно найти на GitHub – это проект на основе Maven, поэтому его должно быть легко импортировать и запускать как есть.