Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Java. Как конвертировать массив []String или []int в List<String> или List< Integer> соответственно?

#java #массивы #коллекции


Как конвертировать массив String[] или int[] в List или List соответственно?
 Я понимаю, как это сделать через циклы, но мне интересно знать, есть ли методы специальные
для этого? Можно ли обойтись без циклов? Прошу пример привести.
    


Ответы

Ответ 1



Как уже сказано в соседнием ответе, для ссылочных типов можно использовать метод Arrays.asList(array). Для примитивов же придётся использовать циклы или Stream API. Например, для int[] array можно написать так: List list = IntStream.of(array).boxed().collect(Collectors.toList()); Для long[] и double[] использовать соответственно LongStream и DoubleStream. А, например, для boolean[] в любом случае нужно будет обойти массив - как-то так: List list = IntStream.range(0, array.length).mapToObj(i -> array[i]) .collect(Collectors.toList());

Ответ 2



Для String[] можно поступить так: List<> list = Arrays.asList(array); Для перехода от int[] к List можно использовать Stream API: List list2 = Arrays.stream(arr).boxed().collect(Collectors.toList());

Ответ 3



Дополню ещё одним способом для int[], если есть в проекте библиотека google guava то можно так: List list = Ints.asList(array);

Комментариев нет:

Отправить комментарий