Java 在ArrayList中的n项之后添加新元素
我正在寻找一个Java(Android)方法,在每n个项目之后添加一个新元素。示例如下:我有两种不同类型的项实现相同的基类,比如说A和B。我想要实现的是在每10个项之后,从一个数组(由B个元素组成)向另一个数组(由A个元素组成)添加项。我可以通过实现循环逻辑来实现它,但需要一些内置功能。谢谢你的帮助 详细信息:Java 在ArrayList中的n项之后添加新元素,java,arraylist,Java,Arraylist,我正在寻找一个Java(Android)方法,在每n个项目之后添加一个新元素。示例如下:我有两种不同类型的项实现相同的基类,比如说A和B。我想要实现的是在每10个项之后,从一个数组(由B个元素组成)向另一个数组(由A个元素组成)添加项。我可以通过实现循环逻辑来实现它,但需要一些内置功能。谢谢你的帮助 详细信息: ArrayList<A> aList = new ArrayList<A>(Arrays.asList(a, a, a, a, a, a, a)); Array
ArrayList<A> aList = new ArrayList<A>(Arrays.asList(a, a, a, a, a, a, a));
ArrayList<B> bList = new ArrayList<B>(Arrays.asList(b, b, b);
ArrayList-aList=新的ArrayList(Arrays.asList(a,a,a,a,a,a));
ArrayList bList=新的ArrayList(Arrays.asList(b,b,b);
我想要实现的是在“aList”的每三个元素之后添加元素,从“bList”到“aList”,而不替换“aList”中的项目。因此,我想要的ArrayList如下所示:
ArrayList<A> aList = new ArrayList<A>(Arrays.asList(a, a, a, b, a, a, a, b, a, b));
ArrayList aList=新的ArrayList(Arrays.asList(a、a、a、b、a、a、a、b));
如果我理解的话,您有一个公共类:基类
,还有两个扩展了基类
,类a
和类B
。
要创建这样的数组,只需创建一个类型为Baseclass:ArrayList
的数组,并编写一个静态方法,就像您所说的循环(我认为没有内置方法,但不确定),然后添加ClassA然后添加ClassB,或者如果您有一个类型的数组,则可以使用.addAll()
方法添加它
我似乎无法找到不循环的方法。用字符串测试:
ArrayList<String> aList = new ArrayList<String>(Arrays.asList("a", "a", "a", "a", "a", "a", "a"));
ArrayList<String> bList = new ArrayList<String>(Arrays.asList("b", "b", "b"));
int step = 3;
for (int i = 0; i < bList.size(); i++) {
int index = (step + 1) * (i + 1) - 1;
if (index < aList.size()) {
aList.add(index, bList.get(i));
} else {
aList.add(bList.get(i));
}
}
for (String x : aList) {
System.out.print(x);
}
ArrayList aList=新的ArrayList(Arrays.asList(“a”、“a”、“a”、“a”、“a”、“a”));
ArrayList bList=新的ArrayList(Arrays.asList(“b”、“b”、“b”));
int步=3;
对于(int i=0;i
我认为不存在这样的方法。您可以使用不同的方法,如:
创建一个扩展ArrayList类的内部类,并重写add()
方法来更改内部全局变量(以便不将其声明为final),声明一个名为“SpecialAddd”的方法或其他方法,并使其返回布尔值
它的底部将有一行代码:returnsuper.add(o);
该方法还应增加您之前定义的全局变量,如果它等于3,则将所需元素从bList添加到aList。您需要提供更多详细信息。例如,编写具有预期功能的伪代码。这是一个android问题吗?这是学校问题,还是您有其他实际目标l?还是这是XYproblen@JacekCz只是想找到更实用的解决方案。感谢您的努力。实际上,我可以通过循环来实现它,在
集合中寻找内置的东西,如排序“我可以通过实现循环逻辑来实现它,但要寻找一些内置的功能”@FARID为什么?你不能用排序来实现这一点,你如何编写比较器呢?我不是说使用sort
。我只是引用了sort
作为一个内置方法,所以我们不必手动排序任何ArrayList
。我只是举了一个例子。所以,我只是在寻找一些内置方法来实现什么我在问题中问过。对这种方法的存在没有太高的期望,但我认为可能有类似的东西,实际上你的回答是对我问题的重复:))