Wie Sie auf ein Array von einem anderen Typ von einer Liste konvertierenWie Sie aus einer Liste auf eine primitive Array von einem anderen Typ umwandeln können
Antwort
Loops über die Liste und jedes Element umwandeln. Hier ein Beispiel für List<Integer>
bis double[]
.
public static double[] integersToDoubles(List<Integer> integers) {
double[] ret = new double[integers.size()];
for (int i = 0; i < ret.length; i++) {
ret[i] = integers.get(i).doubleValue();
}
return ret;
}
Gute Antwort. +1. – aioobe
Sie haben zwei getrennte (zB würde ich von List<Integer> to double[]
gehen mag) Konvertierungen erforderlich. Einer ist von einer Liste zu einem Array. Die zweite ist für jedes der Elemente von einem Typ zum anderen. Die zweite kann oder kann nicht möglich sein.
Zum ersten siehe here.
Für die zweite gibt es wohldefinierte Transformationen zwischen Zahlen (Ints, Doubles, etc.) Einige sind verlustfrei, andere verlieren Präzision.
Viele Arten haben eine Darstellung String und so können Sie schreiben:
String s = foo.toString()
und vielleicht:
Foo foo = new Foo(s);
Aber Sie müssen diese verstehen - es gibt keine Magie. Wenn es keine String-Serialisierung gibt, erhalten Sie die Maschinenadresse des Objekts.
1) Iterate jedes Element finden und wandeln es in double
und fügen Sie es double[]
Es ist nicht notwendig, es in ein Array wie in Schritt 1 zu konvertieren. Sie können nur über die ursprüngliche Liste iterieren. – dogbane
@dogbane oh ja. einverstanden, +1. –
Ich hoffe, dass diese Hilfe voll
List<Integer> List = new ArrayList<Integer>();
List.add(new Integer(100));
List.add(new Integer(200));
List.add(new Integer(300));
double[] db =new double[List.size()];
System.out.println(List);
for(int i=0;i<List.size();i++)
{
System.out.println(List.get(i).toString());
db[i]=Double.parseDouble(List.get(i).toString());
}
Ein allgemeiner Ansatz - nimmt jede Art von Sammlung und jeden Number
Eingang (auch Mischtypen):
public static double[] toDoubles(Collection<? extends Number> numbers) {
double[] result = new double[input.size()];
int index = 0;
for (Number number:numbers)
result[index++] = number.doubleValue();
return result;
}
Wenn Sie mit Java 8, können Sie dies mit nur einer Zeile Code erreichen:
/**
* Transform a list of objects into an array of primitives
*
* @param listOfObject
* @return
*/
public static double[] convertToPrimitives(List<Double> listOfObjects) {
return listOfObjects.stream().mapToDouble(Double::doubleValue).toArray();
}
/**
* Transform a list of objects into an array of primitives
*
* @param listOfObject
* @return
*/
public static double[] convertToPrimitives(List<Integer> listOfObjects) {
return listOfObjects.stream().mapToDouble(Integer::doubleValue).toArray();
}
- 1. Java Arrays.asList auf primitive Array-Typ zu unerwarteten Liste Typ
- 2. Wie entfernen Sie eine Liste aus einer anderen Liste?
- 3. Konvertieren einer Set <Integer> auf eine primitive Array
- 4. Wie können Sie Strings in einer Liste aus einer anderen Liste entfernen?
- 5. Linq: Gibt eine neue Liste von einem anderen Typ
- 6. Umwandeln einer indexierten Array
- 7. Entfernen Sie Elemente aus einer Liste in einem anderen
- 8. eine Dropdown-Liste aus einem Array Gebäude
- 9. aus einer anderen Liste
- 10. Kopieren Array von Objekten Array von einer anderen Typ
- 11. Überprüfen Sie, ob eine Liste alle Elemente aus einem anderen
- 12. C# Erhalte eine Liste aus einem Feld aus einer Liste
- 13. Erstellen von Variablennamen aus einer Array-Liste
- 14. Wie wähle ich eine Liste von Tabellen aus einer anderen Liste mit einem Spaltennamen in R?
- 15. Wie können Sie eine Variable vom Typ 'Objekt' explizit in eine generische Mehrfacheinschränkung umwandeln?
- 16. Wählen Sie Werte aus einem Array basiert auf einem Booleschen Ausdruck auf einem anderen Array angewendet
- 17. Wie können Sie zwei Werte aus einem anderen Array als Ergebnis von searchController laden?
- 18. Können wir den Typ in BigQuery umwandeln?
- 19. Entfernen von Objekten aus einem Array, basierend auf einem anderen Array
- 20. Wie können Sie ein zweidimensionales Array in C umwandeln?
- 21. Daten von Array aus einem anderen Thread
- 22. Wie können Sie eine geschachtelte HashMap in eine ArrayList umwandeln
- 23. Wie können Sie vorhandene Projekte in einer neueren Version von Eclipse auf einem anderen Computer anzeigen?
- 24. Java8 Streams mit einer Liste von Objekten aus einem anderen
- 25. Copy Array-Liste auf einen anderen Array-Liste
- 26. Aktualisieren einer Liste von Python Wörterbücher mit einem Schlüssel, Wert-Paar aus einer anderen Liste
- 27. Schnellste Möglichkeit, eine Array-Liste zu einem anderen zu kopieren
- 28. Zugriff auf eine Array-Liste aus einer anderen Klasse zur Verwendung in Methode
- 29. Zugriff auf eine Eigenschaft in einem ViewModel von einem anderen
- 30. So entfernen Sie Elemente aus einer Liste mit Lambda basierend auf einer anderen Liste
Vielleicht möchten Sie darüber nachdenken, wie Sie mit Nullwerten umgehen. –