java - 在 ArrayList 中的 n 个项目之后添加新元素
问题描述
我正在寻找一种 Java (Android) 方法来在每 n 个项目之后添加一个新元素。示例如下:我有两种不同类型的项目实现相同的基类,比如说 A 和 B。我想要实现的是将项目从一个数组(B 元素)添加到另一个数组(A 元素)在每个之后,比方说,10 个项目。我可以通过实现循环逻辑来实现它,但要寻找一些内置功能。感谢您的帮助。
细节:
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);
我想要实现的是在“aList”的每个第三个元素之后将元素从“bList”添加到“aList”,而不替换“aList”中的项目。所以我想要的 ArrayList 就像:
ArrayList<A> aList = new ArrayList<A>(Arrays.asList(a, a, a, b, a, a, a, b, a, b));
解决方案
用字符串测试:
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);
}
推荐阅读
- ruby-on-rails - 无法打开使用 cloud9IDE 上的 rails 服务器创建的 url
- reactjs - 使用 SetState (React Native) 更好地使用条件渲染
- bash - 从以特定字符串开头的行中删除字符串
- java - 不支持的内容类型:检索 wsdl 时的应用程序/soap+xml
- artifactory - 当存在相同的构建名称和编号时如何提升构建
- android - 不幸的是,启动新活动时 appname 已停止
- string - 查找 Patindex 匹配的结束字符索引
- r - geom_point 中的着色和标记点
- r - 在字符串中创建所有字母替换组合
- git - 自动获取拉取请求主题/主题