有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在现有列表中每隔3项添加另一项对象

我只想在每3个条目之后添加条目,所以基本上我想在每3个条目之后添加adsItemObject到现有列表中

例如1.DataList 2. AdsList 现在,我想在每3个DataList项之后添加AdsList项,就像你所说的那样

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

  1. # 1 楼答案

    尝试这样在现有列表中每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