我只是想在每3个项目之后添加一个项目,因此基本上我想在每3个项目现有列表之后将adsItemObject
添加到一个现有列表中。
例如1.DataList 2. AdsList
现在,我想像您可以说的那样,在AdsList
的每3个项目之后将DataList
的项目添加到DataList
中。
List<Ads> AdsList = new ArrayList<>();
AdsList.add(new Ads("Ads1"));
AdsList.add(new Ads("Ads2"));
AdsList.add(new Ads("Ads3"));
List<Jobs> DataList = new ArrayList<>();
DataList.add(new Jobs("Jobs1"));
DataList.add(new Jobs("Jobs2"));
DataList.add(new Jobs("Jobs3"));
AdsList.add(new Ads("Ads1"));
DataList.add(new Jobs("Jobs4"));
DataList.add(new Jobs("Jobs5"));
DataList.add(new Jobs("Jobs6"));
AdsList.add(new Ads("Ads2"));
DataList.add(new Jobs("Jobs7"));
DataList.add(new Jobs("Jobs8"));
DataList.add(new Jobs("Jobs9"));
AdsList.add(new Ads("Ads3"));
DataList.add(new Jobs("Jobs10"));
上面的示例是手动操作,我想保持动态
答案 0 :(得分:0)
尝试像这样在每3个项目之后添加一个项目到现有列表中:
List<String> AdsList = new ArrayList();
AdsList.add("Ads1");
AdsList.add("Ads2");
AdsList.add("Ads3");
List<String> DataList = new ArrayList<>();
DataList.add("Jobs1");
DataList.add("Jobs2");
DataList.add("Jobs3");
DataList.add("Jobs4");//
DataList.add("Jobs5");
DataList.add("Jobs6");
DataList.add("Jobs7");//
DataList.add("Jobs8");
DataList.add("Jobs9");
DataList.add("Jobs10");//
for(int i = AdsList.size(); i >= 1; i--) {
if((i*3) < DataList.size() && (i-1) < AdsList.size()) {
DataList.add(i*3, AdsList.get(i-1));
}
}
Log.i(TAG,"DataList "+Arrays.toString(DataList.toArray()));
Output:- DataList [Jobs1, Jobs2, Jobs3, Ads1, Jobs4, Jobs5, Jobs6, Ads2, Jobs7, Jobs8, Jobs9, Ads3, Jobs10]
注意:-如果列表不是固定大小,请不要忘记为长度做检查条件,否则可以得到ArrayIndexOutOfBoundsException
。