#java #массивы #коллекции
Как конвертировать массив String[] или int[] в Listили List соответственно? Я понимаю, как это сделать через циклы, но мне интересно знать, есть ли методы специальные для этого? Можно ли обойтись без циклов? Прошу пример привести.
Ответы
Ответ 1
Как уже сказано в соседнием ответе, для ссылочных типов можно использовать метод Arrays.asList(array). Для примитивов же придётся использовать циклы или Stream API. Например, для int[] array можно написать так: Listlist = 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 то можно так: Listlist = Ints.asList(array);
Комментариев нет:
Отправить комментарий