Languages
[Edit]
PL

Java - przekonwertuj List <Double> na double[] - boxed Double list na tablic─Ö prymitywów podwójnych

9 points
Created by:
Sylwia
1340

1. Szybki przegl─ůd

W tym po┼Ťcie om├│wimy, jak konwertowa─ç List <Double> na double[] na kilka r├│┼╝nych sposob├│w. Najprostrzy spos├│b:

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. Korzystanie z języka Java 8 - Stream.mapToDouble przykład 1

Stream.mapToDouble z odniesieniem do metody.

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]
    }
}

Wynik:

[1.2, 2.7, 3.9]

3. Korzystanie z języka Java 8 - Stream.mapToDouble przykład 2

Stream.mapToDouble z funkcj─ů to┼╝samo┼Ťci

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]
    }
}

Wynik:

[1.2, 2.7, 3.9]

4. Przed Java 8 - u┼╝ycie jawnej iteracji po li┼Ťcie

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]
    }
}

Wynik:

[1.2, 2.7, 3.9]

5. Korzystanie z Guavy

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]
    }
}

Wynik:

[1.2, 2.7, 3.9]

Zale┼╝no┼Ť─ç Maven - wersja Guava 28.0.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. Korzystanie z Apache commons lang3

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]
    }
}

Wynik:

[1.2, 2.7, 3.9]

Zale┼╝no┼Ť─ç Maven - Apache commons lang3 w wersji 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>

Po┼é─ůczone pytania

  1. Java - jak rzutowa─ç List <Double> na Double[]
  2. Java - jak przekonwertowa─ç List <Double> na tablic─Ö pierwotnych warto┼Ťci podw├│jnych
  3. Jak przekonwertowa─ç list─Ö obiekt├│w Double na tablic─Ö podw├│jnych prymityw├│w

Bibliografia

  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