下面的代码根据字符串的位置拆分字符串,然后将其放入 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;
}
}
最佳答案
没有直接的方法可以知道 foreach 循环中是否有 List
的最后一个条目。
最简单的方法是使用索引循环。
类似的事情:
List<String> fragmentMessage = fragmentMessage(message);
for (int i = 0; i < fragmentMessage.size(); i++) {
String fragment = fragmentMessage.get(i);
/*
* If "fragment" is the last element of the array, then do something
*/
if (i == fragmentMessage.size()-1) {
}
}
另一个选择是迭代器
for (Iterator<String> iterator = fragmentMessage(message).iterator();
iterator.hasNext();) {
String fragment = iterator.next();
if (!iterator.hasNext()) {
}
}
关于java - 如何检测一个元素是否是数组中的最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146147/