Languages
[Edit]
PT

Java - converter double [] para List <Double> - matriz dupla primitiva para lista de objetos

1 points
Created by:
Alyona
1114

Descrição do Problema:

// Nós temos:
double[] arr = {1.2, 2.7, 3.9};
// E nós queremos converter esta matriz para lista:
List<Double> list; // [1.2, 2.7, 3.9]

1. Melhor solução - DoubleStream.of (Java 8)

double[] arr = {1.2, 2.7, 3.9};
List<Double> list = DoubleStream.of(arr).boxed().collect(Collectors.toList());
System.out.println(list); // [1.2, 2.7, 3.9]

Resultado:

[1.2, 2.7, 3.9]

2. DoubleStream.of + retornar a ArrayList (Java 8)

Retornar a implementação necessária, por exemplo ArrayList ou HashSet

double[] arr = {1.2, 2.7, 3.9};
ArrayList<Double> list = DoubleStream.of(arr).boxed()
		.collect(Collectors.toCollection(ArrayList::new));
System.out.println(list); // [1.2, 2.7, 3.9]

Resultado:

[1.2, 2.7, 3.9]

3. Iteração explícita sobre a matriz (antes do Java 8)

double[] arr = {1.2, 2.7, 3.9};
List<Double> list = new ArrayList<>();
for (double no : arr) {
    list.add(Double.valueOf(no));
    // nós também podemos adicionar duplo primitivo
}
System.out.println(list); // [1.2, 2.7, 3.9]

Resultado:

[1.2, 2.7, 3.9]

4. Doubles.asList (Guava)

double[] arr = {1.2, 2.7, 3.9};
List<Double> list = Doubles.asList(arr);
System.out.println(list); // [1.2, 2.7, 3.9]

Resultado:

[1.2, 2.7, 3.9]

5. ArrayUtils.toObject (Apache commons lang3)

double[] arr = {1.2, 2.7, 3.9};
Double[] doubleArray = ArrayUtils.toObject(arr);
List<Double> list = Arrays.asList(doubleArray);
System.out.println(list); // [1.2, 2.7, 3.9]

Resultado:

[1.2, 2.7, 3.9]

Resumo - em java podemos converter double [] em List <Double> por:

  1. Melhor solução - DoubleStream.of (Java 8)
  2. DoubleStream.of + retornar a ArrayList (Java 8)
  3. Iteração explícita sobre a matriz (before Java 8)
  4. Doubles.asList (Guava)
  5. ArrayUtils.toObject (Apache commons lang3)

Referências:

  1. DoubleStream.of - Java 8 docs
  2. Doubles.asList - Guava docs
  3. ArrayUtils.toObject - Apache commons lang3 docs
Hey ūüĎč
Would you like to know what we do?
  • Dirask is a friendly IT community for learners, professionals and hobbyists to share their knowledge and help each other in extraordinary easy way.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.