2017-03-13 7 views
-2

私はそれらを反復して処理するためにArrayList<object[]>に追加したい配列20個を持っています。 ArrayList<object[]>に追加するにはどうすればよいですか?ArrayListにオブジェクト[]型の配列を追加するには<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] 

コード

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

'add()'メソッドを呼び出そうとしましたか? – Logan

+0

あなたのコードには既に 'list.add(array1);'が含まれています。これにより 'array1'を' list'に追加することができます(配列が適切に作成されていると仮定します)。あなたのコードに問題はありますか? – Pshemo

+0

@LoganKulinskiコード内にあります。私は本当に彼がarray1宣言行(実際のコードであれば)にコンパイルエラーを得ていると思います。 – BackSlash

答えて

0

ここに本当の答え: "低レベル" の文字列/配列としてデータを処理することは避けてください。

は私が

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

は、実際に一緒に属するデータのいくつかの部分を表していると思います。したがって、これらのデータポイントを単に配列にプッシュするのではなく、それらのオブジェクトを保持する特別なクラスを作成してみませんか?そうしている間に、あなたはまた、 "列"に名前を付けます。と意味。検証のための手段。

次に、List<Object[]>を処理する代わりに、List<YourDataClass>を使用してください。それだけです

list.add(newMember); 

そして追加するには、本当にのようになります。

または多分:非常にあなたが提供するコードのような

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

...それがコンパイルされ、正常に動作。

最終的な注記:リストのアプローチのリストを保持したい場合でも。なぜあなたはここで配列を使いたいのですか?配列とリストを混合する代わりに、List<List<SomeType>>を使用してください。

関連する問題