java - 将 ArrayList 和 Array 组合起来形成某种模式的结果数组

标签 java arrays arraylist

我有一个整数类型的ArrayList和一个字符串类型的数组。我想形成一个由两者组合而成的结果数组。限制是我不能使用任何 map 界面。

示例:

ArrayList<Integer> al=[1,2,3,4,5,6,7,8,9]
String name[]={"Cat","bat","mat"} 
//my resultant array should look like this
//String result[]=[cat[1,2,3],bat[4,5,6],mat[7,8,9]]

请建议我实现这一目标的有效方法。

提前谢谢您。

最佳答案

因为结果是String类型,所以可以使用List::subList例如,从列表中获取范围:

List<Integer> al = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
String[] names = {"Cat", "bat", "mat"};
String[] result = new String[names.length];
int j = 3;

for (int i = 0; i < names.length; i++) {
    result[i] = names[i] + al.subList(j - 3, j);
    j += 3;
}
System.out.println(Arrays.asList(result));

输出

[Cat[1, 2, 3], bat[4, 5, 6], mat[7, 8, 9]]
<小时/>

注意

在使用数组和列表之前,您必须检查长度,否则可能会收到错误 ArrayIndexOutOfBoundsException Exception

关于java - 将 ArrayList 和 Array 组合起来形成某种模式的结果数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47198518/

相关文章:

php - 删除最后一个数组值? php

javascript - 如何使用过滤器在数组中的对象的多个键值中进行搜索?

java - GUI 将 JTextField 添加到 ArrayList

java - 使用特定值拆分 ArrayList<ProductBean>

java - 卢塞恩 : Pagination returning duplicates

java - 通用类问题!

java - Android 在 Activity 中发送电子邮件时给出 "javax.mail.AuthenticationFailedException"

java - Java 中的 getPath()、getAbsolutePath() 和 getCanonicalPath() 有什么区别?

javascript - 删除项目后无法将其重新添加到购物篮(数组)

javascript - 如何将javascript中的arrayList值获取到html <c : forEach>