检测上次前循环迭代
2022-08-31 14:17:39
假设我有一些这样的循环:foreach
Set<String> names = new HashSet<>();
//some code
for (String name: names) {
//some code
}
有没有办法检查内部的实际名称是否是没有计数器的最后一个?我在这里没有发现这样的问题。foreach
Set
假设我有一些这样的循环: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
}
}
此外,这取决于您要实现的目标。假设您正在实现一个常见的用例,即通过coma分隔每个名称,但不要在最后添加空的coma:
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(", "));
其他answear是完全足够的,只需为给定的问题添加此解决方案即可。
Set<String> names = new HashSet<>();
//some code
int i = 0;
for (String name: names) {
if(i++ == names.size() - 1){
// Last iteration
}
//some code
}