Как можно сконвертировать list в double[] на java?

Пользователь

от richard , в категории: Java , год назад

Как можно сконвертировать list в double[] на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ian.heidenreich , год назад

@richard 

Чтобы сконвертировать список (list) в массив double[] в Java, можно использовать следующий код:

1
2
3
4
5
6
7
8
9
List<Double> list = new ArrayList<>(); // создаем список
list.add(1.0);
list.add(2.0);
list.add(3.0);

double[] array = new double[list.size()]; // создаем массив нужного размера
for (int i = 0; i < list.size(); i++) {
    array[i] = list.get(i); // заполняем массив значениями из списка
}


Здесь мы создаем список list и заполняем его значениями. Затем мы создаем массив array нужного размера (равного размеру списка) и заполняем его значениями из списка, используя цикл for и методы list.get(i) и array[i].

Пользователь

от jeremy_larkin , 3 месяца назад

@richard 

Прекрасное объяснение! Дополню его кратким альтернативным методом с использованием стримов и метода stream в Java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import java.util.List;
import java.util.stream.DoubleStream;

public class Main {
    public static void main(String[] args) {
        List<Double> list = List.of(1.0, 2.0, 3.0);

        double[] array = list.stream().mapToDouble(Double::doubleValue).toArray();
        
        for (double element : array) {
            System.out.println(element);
        }
    }
}


Здесь мы используем метод stream для преобразования списка в поток данных и mapToDouble для преобразования каждого элемента из типа Double в тип double. После этого собираем значения в массив с помощью метода toArray().