- ベストアンサー
Java勉強中でArrayListでつまづいています
- Javaの勉強中にArrayListで問題にぶつかっています。具体的には、listAとlistBの関係性について解説しています。listAに要素を追加し、listBに追加する方法に関して、エラーが発生しているため、解決方法を教えていただきたいです。
- Javaの勉強中で、ArrayListの使用方法につまづいています。具体的には、listAとlistBの関係性に関して問題が発生しています。listAに要素を追加し、listBに追加する際にエラーが発生してしまうため、どのように修正すれば良いのか教えていただきたいです。
- 現在、Javaの勉強中でArrayListで困っています。具体的には、listAとlistBの関係性についての質問です。listAに要素を追加し、listBに追加する際にエラーが発生し、どのように修正すれば良いのか分からないため、アドバイスをいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
listB.add(listA); ではなく、 listB.add(listA.toArray(new String[0])); でどうでしょう。
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
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するけどね。
お礼
回答ありがとうございました。 説明文を端折ってしまって、すみませんでした。 実際は下記のような感じ(また少し端折ってますが・・・)で処理していました。 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(",")); としたら解決しました。 ありがとうございました。
お礼
回答ありがとうございました。 結局、 listB.add(listA.toString().split(",")); でやってみたら思っていた通りになりました。 listB.add(listA.toArray(new String[0])); でもやってみましたら、同じ結果になりました。 勉強になりました。 ありがとうございました。