我在创建作业问题的方法时遇到了麻烦,该方法可以将ArrayList
反转到适当的位置,以使例如1 2 3 4 5变成5 4 3 21。我知道{{1} },但我不能使用它,也不能使用常规的for循环,它必须是“ for each”循环,因此必须是“ Collections.reverse
”。我知道,使用常规的for循环,我将可以使用两个迭代变量for (String book: books) { ... }
和i
,以便可以交换第一个索引和最后一个索引的值来对其进行反转,但是在每个循环中你不能那样做。任何帮助,将不胜感激。谢谢。
答案 0 :(得分:1)
此示例使用for each
,在arrayList内创建包含多个字符串的变量,然后使用常规的for each
循环遍历整个arrayList
,但在位置i
上打印每次都会减少我
int i = books.size() - 1;
for(String b: books){
newList.add(books[i]);
System.out.println(books[i]);
i--;
}
这是在一个arrayList中进行切换的示例。
int i = books.size() - 1;
String helpString;
for(int n = 0; n <= books/2 ; n++){
helpString = books[n];
books[n] = books[i];
books[i] = helpString;
i--;
}
答案 1 :(得分:1)
您可以使用forEach语法来做到这一点。
List<Integer> intValues = new ArrayList<Integer>();
intValues.add(1);
intValues.add(2);
intValues.add(3);
intValues.add(4);
intValues.add(5);
IntStream.range(0, intValues.size()).forEach(v -> System.out.print(intValues.get((intValues.size()-1)-v)));