これは、件名豆の私の実際のデータJavaを使用してArrayListの値を反復処理する方法は?
[
{
"subbat": [
{
"batn": "A1",
},
{
"batn": "A2",
}
],
"id": "588edaf7adbe1d00013ff125"
}
]
私は、このように作成すると、1フィールド「batn」
{
"subbat": [
{
"batn": "A1",
},
{
"batn": "A2",
}
],
"batn": "A1", -------//trying to set batn
"id": "588edaf7adbe1d00013ff125"
},
{
"subbat": [
{
"batn": "A1",
},
{
"batn": "A2",
}
],
"batn": "A2", -------//trying to set batn
"id": "588edaf7adbe1d00013ff125"
},
を設定subbatサイズ]
に基づいて、このBeanを書き直したいですしかし、私は両方この出力を得た - batn = A2
{
"subbat": [
{
"batn": "A1",
},
{
"batn": "A2",
}
],
"batn": "A2",------------------------------->I got A2 here why?
"id": "588edaf7adbe1d00013ff125"
},
{
"subbat": [
{
"batn": "A1",
},
{
"batn": "A2",
}
],
"batn": "A2",
"id": "588edaf7adbe1d00013ff125"
},
]
これは、このコードで
List<Subject> subjects = new ArrayList<Subject>();
for (Subject eachSubject : subjectDatas) {
if (eachSubject.getSubbat() != null && !eachSubject.getSubbat().isEmpty()) {
for (Batch eachBatch : eachSubject.getSubbat()) {
if (eachBatch.getBatn() != null) {
eachSubject.setBatn(eachBatch.getBatn());
subjects.add(eachSubject);
}
}
} else {
subjects.add(eachSubject);
}
}
をこの何のエラーをしようとするための私のコードで私はまた、イテレータの方法を使用しますが、同じ出力を得たことは、私のコードを作ったどのような変更
List<Subject> subjects = new ArrayList<Subject>();
ListIterator<Subject> iter = subjectDatas.listIterator();
while (iter.hasNext()) {
Subject eachSubject = iter.next();
if (eachSubject.getSubbat() != null && !eachSubject.getSubbat().isEmpty()) {
ListIterator<Batch> iter1 = eachSubject.getSubbat().listIterator();
while (iter1.hasNext()) {
Batch eachBatch = iter1.next();
eachSubject.setBatn(eachBatch.getBatn());
subjects.add(eachSubject);
}
} else {
subjects.add(eachSubject);
}
}
論理的に間違っています?
「subjectDatas」の宣言を表示できますか? (命名ノート: "データ"は既に複数の名詞です。) –