使用特定值分割ArrayList<ProductBean>
时遇到的问题
ArrayList<ProductBean> al =new ArrayList<ProductBean>();
这里的
ProductBean
是Getter&Setter类,其中包含几个字段,如productId,productName,productPrice,shopId等。 (productId, productName, productPrice, shopId)
-------------------------
ProductBean s1=new ProductBean(101,"Pantene Shampoo","10 rs.",23);
ProductBean s2=new ProductBean(102,"Himalaya Fasewash","80 rs.",21);
ProductBean s2=new ProductBean(103,"Dettol Bath soap","30 rs.",25);
ProductBean s2=new ProductBean(104,"Dove Bath soap","30 rs.",25);
ProductBean s2=new ProductBean(105,"Santoor Bath soap","20 rs.",25);
//creating arraylist
ArrayList<ProductBean> al=new ArrayList<ProductBean>();
al.add(s1);//adding ProductBean class object
al.add(s2);
al.add(s3);
ArrayList
具有相同或不同shopId
的多个产品数据,这意味着假设我有5种不同的产品,其中2种具有相同
shopId
的产品具有不同的shopId。现在,我想用不同的
ArrayList
分隔shopId
,如代码段所示,具有相同的shopId 25和其余的21、23,这导致3个不同的arraylist 最佳答案
一种方法是使用HashMap
HashMap<Integer, ArrayList<ProductBean>> map = new HashMap<>();
然后添加具有ID的产品以映射为
map.put(id,list);//ArrayList<ProductBean>
通过从地图获取列表来更新相同ID的列表,然后为相同ID重新插入更新后的列表
如果
asynctsk
的清单很长,请在productbean
中执行所有这些操作