【发布时间】:2019-04-08 07:49:18
【问题描述】:
下面的代码根据位置拆分一个String,然后把它放到一个ArrayList中。
例如,如果字符串是"Who Framed Roger Rabbit?",那么fragmentMessage 将在每8 个字符处拆分消息。
因此 ArrayList 将如下所示:[Who Fram, ed Roger, Rabbit?]
ArrayList的元素如下:
- ArrayList 元素 0:
Who Fram - ArrayList 元素 1:
ed Roger - ArrayList 元素 2:
Rabbit?
然后我在 main 方法中有一个 for-each 循环,它遍历 ArrayList。
如何检测迭代时是否到达数组的最后一个元素?
例如,“如果这是数组的最后一个元素,则打印“LAST ELEMENT”。
import java.util.ArrayList;
import java.util.List;
public class LastElement {
public static void main(String[] args) {
String message = "Who Framed Roger Rabbit?";
for (String fragment : fragmentMessage(message)) {
/*
* If "fragment" is the last element of the array, then do something
*/
}
}
private static List<String> fragmentMessage(String message) {
List<String> fragmentedMessage = new ArrayList<>();
for (int i = 0; i < message.length(); i = i + 8) {
fragmentedMessage.add(message.substring(i, i + 8));
System.out.println(fragmentedMessage);
}
return fragmentedMessage;
}
}
【问题讨论】:
-
你可以使用
Iterator,而不是for循环,它有一个hasNext()方法。 -
或者传统的for循环,它使用一个索引。
-
可能有更好的方法,这取决于您实际想要实现的目标。但你没有说...
标签: java arrays loops arraylist foreach