2017-03-13 1 views
-2

Ich habe 20 Arrays, die ich hinzufügen möchte, um ArrayList<object[]> durchlaufen und arbeiten mit. Wie kann ich sie zum ArrayList<object[]> hinzufügen?Wie Arrays der Art Objekt [] zu der ArrayList hinzugefügt werden <object[]>

[1301 - PB, 2017-02-20 19:43:42.0, 2017-02-20 19:48:59.0, 0.0900, 0, 0.09, 0.09, 0.66], 
[1302 - PB3, 2017-02-20 20:26:47.0, 2017-02-20 20:32:17.0, 0.0900, 0.09, 0.18, 0.09, 0.66], 
[1303 - PB, 2017-02-20 20:33:58.0, 2017-02-20 20:42:05.0, 0.1400, 0.18, 0.32, 0.14, 0.66], 
[1304 - PB, 2017-02-20 20:47:48.0, 2017-02-20 20:53:59.0, 0.1000, 0.32, 0.42, 0.09999999999999998, 0.66] 

-Code

public class Test{ 
    public static void main(String[] args) { 
    List<Object[]> x = new ArrayList<Object[]>(); 
    Object[] array = { "1303 - PB300", "2017-02-20 19:43:42.0", "2017-02-20 19:48:59.0", 0.0900, 0, 0.09, 0.09, 
      0.66 }; 
    x.add(array); 

} 
+2

Haben Sie versucht, die 'add()' Methode aufzurufen? – Logan

+0

Ihr Code enthält bereits 'list.add (array1);'. Dies sollte es Ihnen ermöglichen, 'array1' zu' list' hinzuzufügen (vorausgesetzt, dass das Array ordnungsgemäß erstellt wurde). Gibt es ein Problem mit Ihrem Code? – Pshemo

+0

@LoganKulinski Es ist im Code. Ich glaube wirklich, dass er Kompilierungsfehler in der Deklarationszeile von array1 erhält (wenn das der echte Code ist). – BackSlash

Antwort

0

Die wirkliche Antwort hier: vermeiden Daten als "low level" Strings/Arrays zu behandeln.

Ich denke, dass

[1301 - PB, 2017-02-20 19:43:42.0, 2017-02-20 19:48:59.0, 0.0900, 0, 0.09, 0.09, 0.66] 

einige Stücke von Daten darstellt, die zusammen tatsächlich gehören. Also anstatt diese Datenpunkte einfach in ein Array zu schieben; Warum erstellen Sie keine spezielle Klasse, um diese Objekte zu halten? Und dabei geben Sie auch den "Spalten" einen Namen; und eine Bedeutung; und Mittel zur Validierung.

Und dann, statt mit List<Object[]> zu behandeln - dann verwenden Sie einfach eine List<YourDataClass>.

Und das Hinzufügen geht wirklich wie:

list.add(newMember); 

, die es ist.

Oder vielleicht:

list = Arrays.asList(member1, member2, member3); 

Ganz ähnlich wie der Code, den Sie zur Verfügung gestellt ... und das kompiliert und läuft gut.

Abschließender Hinweis: auch wenn Sie diese Liste Liste Ansatz beibehalten möchten; Warum willst du hier Arrays verwenden? Verwenden Sie einfach List<List<SomeType>> anstatt Arrays und Listen zu mischen.

Verwandte Themen