Languages
[Edit]
DE

Java - List<Double> in double[] - boxed Double list in Array primitiver doubles konvertieren

4 points
Created by:
Nikki
8030

1. √úbersicht

In diesem Artikel wird gezeigt, wie kann man List<Double> in double[] auf ein paar verschiedenen Arten konvertieren.

Einfachste Möglichkeit:

List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
double[] arr = list.stream().mapToDouble(Double::doubleValue).toArray();

System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]

2. Java 8 - Stream.mapToDouble verwenden - Beispiel 1

Stream.mapToDouble mit Referenzmethode.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example1 {

    public static void main(String[] args) {

        List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
        double[] arr = list.stream().mapToDouble(Double::doubleValue).toArray();

        System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]
    }
}

Ausgabe:

[1.2, 2.7, 3.9]

3. Java 8 - Stream.mapToDouble verwenden - Beispiel 2

Stream.mapToDouble mit Identitätsfunktion.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example2 {

    public static void main(String[] args) {

        List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
        double[] arr = list.stream().mapToDouble(d -> d).toArray();

        System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]
    }
}

Ausgabe:

[1.2, 2.7, 3.9]

4. Vor¬†java 8 - eine explizite Iteration √ľber die Liste verwenden

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example3 {

    public static void main(String[] args) {

        List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
        double[] arr = new double[list.size()];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = list.get(i).doubleValue();
        }
        System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]
    }
}

Ausgabe:

[1.2, 2.7, 3.9]

5. Guava verwenden

import com.google.common.primitives.Doubles;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example4 {

    public static void main(String[] args) {

        // With Guava
        List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
        double[] arr = Doubles.toArray(list);

        System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]
    }
}

Ausgabe:

[1.2, 2.7, 3.9]

Maven-Abhängigkeit - Guava Version 28.0 

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>28.0-jre</version>
</dependency>

6. Apache commons lang3 verwenden

import org.apache.commons.lang3.ArrayUtils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Example5 {

    public static void main(String[] args) {

        List<Double> list = new ArrayList<>(Arrays.asList(1.2, 2.7, 3.9));
        Double[] arrBoxed = list.toArray(new Double[list.size()]);
        double[] arr = ArrayUtils.toPrimitive(arrBoxed);

        System.out.println(Arrays.toString(arr)); // [1.2, 2.7, 3.9]
    }
}

Ausgabe:

[1.2, 2.7, 3.9]

Maven-Abhängigkeit - Apache commons lang3 Version 3.8.1

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.8.1</version>
</dependency>

Zusammengef√ľhrte¬†Fragen

  1. Java - wie man wirft List<Double> in double[]
  2. Java - wie konvertiert man List<Double> in Array primitiver double Werten 
  3. Wie konvertiert man List von Double Objekten in Array primitiver Doubles

Literaturverzeichnis

  1. Stream.mapToDouble - Java 8 docs
  2. Doubles.toArray - Guava docs
  3. ArrayUtils.toPrimitive - Apache commons lang3 docs
Native Advertising
50 000 ad impressions - 449$
ūüöÄ
Get your tech brand or product in front of software developers.
For more information contact us:
Red dot
Dirask - friendly IT community for everyone.

‚̧ԳŹūüíĽ ūüôā

Join