每3个项目后在现有列表中添加另一个项目对象

时间:2019-04-19 07:41:30

标签: java android arraylist

我只是想在每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"));

上面的示例是手动操作,我想保持动态

1 个答案:

答案 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