所以我有一个ArrayList,它有数组作为它的值。现在我想遍历每个ArrayList节点,并遍历每个节点上的所有相应数组索引。如果我想在一行中显示整个节点索引(该节点中的所有数组组件),那么最佳方法应该是什么。
考虑一下:
ArrayList<String[]> arr_list = new ArrayList<String[]>;
String array1[] = {"4","5","3","2"};
String array2[] = {"7","1","0","9"};
String array3[] = {"8","4","3","1"};
arr_list.add(0,array1);
arr_list.add(1,array2);
arr_list.add(2,array3);
我需要以这种格式显示它(这里每行的起始编号是节点索引)
0 : 4 5 3 2
1 : 7 1 0 9
2 : 8 4 3 1
答案 0 :(得分:1)
使用双循环,第一个循环迭代ArrayList,第二个循环遍历每个数组。另外,您的数组应该是String数组,否则什么都不会有效。
for (int i = 0; i < arr_list.size(); i++) {
System.out.print(i + " : ");
for (int j = 0; j < arr_list.get(i).length; j++) {
System.out.print(arr_list.get(i)[j] + " ");
}
System.out.println();
}
这就是你要找的东西吗?
答案 1 :(得分:1)
定义可以循环的列表列表:
for (int i = 0; i < l.size(); i++) {
System.out.println(i + " : " + String.join(" ", l.get(i)));
}
万一你不想要 [] 并且需要那些空格分隔
List<List<String>> l = new ArrayList<>();
l.add(Arrays.asList("4", "5", "3", "2"));
l.add(Arrays.asList("7", "1", "0", "9"));
l.add(Arrays.asList("8", "4", "3", "1"));
IntStream.range(0, l.size()).forEach(x -> System.out.println(x + " : " + String.join(" ", l.get(x))));
修改强>:
因为很快或后来人们将需要使用相同的java8流功能:
var date = new Date(new Date().setHours(0, 0, 0, 0));
console.log(date);
var currentDate = new Date();
console.log(currentDate);
if (date.getTime() === new Date(currentDate.setHours(0, 0, 0, 0)).getTime() && currentDate.getTime() > (new Date(currentDate.setHours(11,30,0,0)).getTime())) {
console.log("It works!!!");
}
else{
console.log("That didn't work as expected :(");
}
console.log(date.getTime() === new Date(currentDate.setHours(0, 0, 0, 0)).getTime());
console.log(currentDate.getTime() > (new Date(currentDate.setHours(11,30,0,0)).getTime()));
答案 2 :(得分:0)
您可以使用 foreach 循环迭代File
中的元素,然后我们可以写:
ArrayList
答案 3 :(得分:0)
public static void main(String[] args){
ArrayList<int[]> arr_list = new ArrayList<int[]>();
int array1[] = {4,5,3,2};
int array2[] = {7,1,0,9};
int array3[] = {8,4,3,1};
arr_list.add(array1);
arr_list.add(array2);
arr_list.add(array3);
for(int i = 0; i<arr_list.size(); i++){
System.out.print(i+" : ");
for(int number : arr_list.get(i)){
System.out.print(number+ " ");
}
System.out.println("");
}
}
答案 4 :(得分:0)
我希望你已经得到了答案,另外
String[] arr = {"1","2"};
String[] arr1 = {"3","4"};
ArrayList<String[]> ar2 = new ArrayList<>();
ar2.add(arr);
ar2.add(arr1);
int i = 0;
for(String[] a: ar2 ){
System.out.println(i+ ": "+Arrays.toString(a).replaceAll("[, \\[ \\]]", " "));
i++;
}
答案 5 :(得分:0)
您可以通过调用Iterator
直接将ArrayList
与.iterator()
一起使用并将其分配给iterator对象,对于字符串数组,您可以使用foreach
:< / p>
Iterator iterator = arr_list.iterator();
while(iterator.hasNext()){
String[] array = (String[]) iterator.next();
int index = arr_list.indexOf(array);
System.out.print(index + " : ");
for(String str : array){
System.out.print(str);
}
System.out.println("");
}
希望有所帮助
答案 6 :(得分:0)
你能用地图吗?
似乎非常可行Map<Integer, ArrayList<String>>
像结构一样。将值简单转换为整数和传统遍历将获得您想要的结果。