假设我有一些像这样的 foreach
循环:
Set<String> names = new HashSet<>();
//some code
for (String name: names) {
//some code
}
有没有办法在 foreach
内部检查实际名称是否是 Set
中没有计数器的最后一个名称?我在这里没有找到这样的问题。
最佳答案
为了简单易懂,imo 会这样做:
Set<String> names = new HashSet<>();
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
String name = iterator.next();
//Do stuff
if (!iterator.hasNext()) {
//last name
}
}
另外,这取决于您要达到的目标。假设您正在实现用逗号分隔每个名称的常见用例,但没有在末尾添加空逗号:
Set<String> names = new HashSet<>();
names.add("Joao");
names.add("Pereira");
//if the result should be Joao, Pereira then something like this may work
String result = names.stream().collect(Collectors.joining(", "));
关于java - 检测最后一次 foreach 循环迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41591107/