• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:java勉強中です。)

Java勉強中でArrayListでつまづいています

このQ&Aのポイント
  • Javaの勉強中にArrayListで問題にぶつかっています。具体的には、listAとlistBの関係性について解説しています。listAに要素を追加し、listBに追加する方法に関して、エラーが発生しているため、解決方法を教えていただきたいです。
  • Javaの勉強中で、ArrayListの使用方法につまづいています。具体的には、listAとlistBの関係性に関して問題が発生しています。listAに要素を追加し、listBに追加する際にエラーが発生してしまうため、どのように修正すれば良いのか教えていただきたいです。
  • 現在、Javaの勉強中でArrayListで困っています。具体的には、listAとlistBの関係性についての質問です。listAに要素を追加し、listBに追加する際にエラーが発生し、どのように修正すれば良いのか分からないため、アドバイスをいただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_2
  • ベストアンサー率80% (4/5)
回答No.1

listB.add(listA); ではなく、 listB.add(listA.toArray(new String[0])); でどうでしょう。

mamappi82
質問者

お礼

回答ありがとうございました。 結局、 listB.add(listA.toString().split(",")); でやってみたら思っていた通りになりました。 listB.add(listA.toArray(new String[0])); でもやってみましたら、同じ結果になりました。 勉強になりました。 ありがとうございました。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

2回目の段階で listA = [aaa, bbb, ccc, ddd, eee, fff, ggg, hhh] こうなっていると思うんだけど。 [aaa, bbb, ccc, ddd, eee, fff, ggg, hhh]を [aaa, bbb, ccc, ddd][eee, fff, ggg, hhh] と分割する条件は何? 4個ずつ? だったら4個ずつの配列を作ってから listBに格納するしかないわ。 listA自体には1回目に足したもの、2日目に足したもの という情報はないわよ。 私なら listAにaaa, bbb, ccc, dddをaddしたのと同時に listBに[aaa, bbb, ccc, ddd]をaddするけどね。

mamappi82
質問者

お礼

回答ありがとうございました。 説明文を端折ってしまって、すみませんでした。 実際は下記のような感じ(また少し端折ってますが・・・)で処理していました。 for(int i=0;i<a.length;i++){ if(name.equals(beforeName) || beforeName.equals("")){ beforeName=name; listA.add(data); //<--data=aaa,bbb,ccc,ddd,eee,fff,ggg,hhh.... }else{ beforeName=name; listB.add(listA); //<--質問の場所 listA.clear(); listA.add(data); } } 質問の仕方が悪くてすみませんでした。 結局、 listB.add(listA.toString().split(",")); としたら解決しました。 ありがとうございました。

関連するQ&A