如何将所有ArrayList <ArrayList >值存储到ArrayList 中?
我有问题将ArrayList<ArrayList>
所有值存储到ArrayList
。 这里的stylistIDArray
和durationArray
是数组的数组。 我想分别在stylistId
和duration
存储它们的所有值。 stylistid
和duration
是字符串数组。
这是我的尝试,但它只存储每个数组数组的最后一项。
ArrayList<ArrayList> stylistIDArray; ArrayList<ArrayList> durationArray; stylistIDArray = differentGenderServicesAdapter.getSelectedStylistIdArray(); durationArray = differentGenderServicesAdapter.getSelectedDurArray(); ArrayListstylistId = new ArrayList(); ArrayListduration = new ArrayList(); for(int i=0; i<stylistIDArray.size(); i++) { stylistId = stylistIDArray.get(i); duration = durationArray.get(i); }
注意:我已经尝试过这个 ,但对我不起作用。
为了通用,首先让我们成为对象列表的列表
List> listOfList;
你想要放入一个对象列表
List
注意结果列表将包含每个包含的对象是输入列表。 此转换将丢失哪个对象在哪个列表中的信息。
你必须遍历listOfList
。 在每个循环中,您将获得一个对象List
( List
)。 然后循环遍历这些列表以获取每个对象( Object o
)。 然后将这些对象添加到结果列表( result.add(o)
)。
for(List
在您的情况下,问题是您使用效果而不是add()
。 在每个循环中,这将替换新值。 所以最后你只存储了每个列表的最后一项。
stylistId=stylistIDArray.get(i); //This replace the existing stylistId
而是尝试类似的东西
ArrayList> stylistIDArray; ArrayList> durationArray; stylistIDArray = differentGenderServicesAdapter.getSelectedStylistIdArray(); durationArray = differentGenderServicesAdapter.getSelectedDurArray(); ArrayList stylistId = new ArrayList<>(); ArrayList duration = new ArrayList<>(); for(ArrayList l : stylistIDArray) { for(String s : l) { stylistId.add(s); } } for(ArrayList l : durationArray ) { for(String s : l) { duration.add(s); } }
你用arraylist
做了错误的操作,在循环中你从stylistIDArray
获取数据并分配给aryalist
,而不是插入列表,看看这个
stylistIDArray=differentGenderServicesAdapter.getSelectedStylistIdArray(); durationArray=differentGenderServicesAdapter.getSelectedDurArray(); ArrayListstylistId=new ArrayList<>(); ArrayList duration=new ArrayList<>(); for(int i=0; i
希望它能帮到你!