Java ArrayList返回我添加的最后一个值
我有两个数组列表Java ArrayList返回我添加的最后一个值,java,android,arrays,arraylist,Java,Android,Arrays,Arraylist,我有两个数组列表 ArrayList<String> brands = new ArrayList<>() ArrayList<ArrayList<String>> finalBrands = new ArrayList<>(); 另外,我在类中初始化了两个ArrayList(而不是在方法中),所以这不可能是因为这个原因。 P.S ArrayList是私有的、非静态的。最后我找到了一个解决方案。谢谢 我只需要将brands.clear
ArrayList<String> brands = new ArrayList<>()
ArrayList<ArrayList<String>> finalBrands = new ArrayList<>();
另外,我在类中初始化了两个ArrayList(而不是在方法中),所以这不可能是因为这个原因。
P.S ArrayList是私有的、非静态的。
最后我找到了一个解决方案。谢谢
我只需要将
brands.clear()
和conds.clear()
替换为brands=new ArrayList()
和conds=new ArrayList()
而不是finalBrands.add(brands);试试finalBrands.addAll(品牌)@KamalNayan我试过了,但每次清除条件
和品牌
都没有帮助,所以以前的数据丢失了。@HenryTwist我正在将品牌
添加到最终品牌
中,然后将其删除。看看日志。是的,我明白,问题是你每次都在使用同一个列表并清除它。然后将项目添加到其中。当您调用finalBrands.add(brands)
时,您会多次添加相同的列表。这里的错误是它不能复制。
reference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot dataSnapshot : snapshot.getChildren()) {
Keylist.add(dataSnapshot.getKey());
Valuelist.add(dataSnapshot.getValue().toString());
}
if (Keylist.size()==snapshot.getChildrenCount()){
for (int i =0; i<Keylist.size();i++){
reference1.child(Valuelist.get(i)).child(Keylist.get(i)).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot dataSnapshot: snapshot.getChildren()){
if (dataSnapshot.hasChildren()){
brands.add(dataSnapshot.getKey());
conditions.add(dataSnapshot.child("condition").getValue().toString());
}
if (brands.size()==snapshot.getChildrenCount()-5){
finalBrands.add(brands);
finalConditions.add(conditions);
Log.d("glavniy", finalBrands.toString());
brands.clear();
conditions.clear();
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
2021-04-11 12:41:49.272 27641-27641/com.example.main D/glavniy: [[burgerking, gyros, kfc]]
2021-04-11 12:41:49.299 27641-27641/com.example.main D/glavniy: [[gyros, kfc], [gyros, kfc]]
2021-04-11 12:41:49.318 27641-27641/com.example.main D/glavniy: [[gyros], [gyros], [gyros]]