mhe*_*ery 29 java algorithm collections
假设我有这样的foreach循环:
Set<String> names = new HashSet<>();
//some code
for (String name: names) {
//some code
}
Run Code Online (Sandbox Code Playgroud)
有没有办法检查内部foreach实际名称是Set没有计数器的最后一个?
(对不起,如果这是一个重复的问题,我在这里找不到这样的问题)
Joa*_*ira 25
为了简单和易懂,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
}
}
Run Code Online (Sandbox Code Playgroud)
此外,这取决于你想要达到的目标.假设您正在实现通过昏迷分隔每个名称的常见用例,但最后不要添加空昏迷:
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(", "));
Run Code Online (Sandbox Code Playgroud)
小智 12
其他的回答是完全足够的,只需为给定的问题添加此解决方案.
Set<String> names = new HashSet<>();
//some code
int i = 0;
for (String name: names) {
if(i++ == names.size() - 1){
// Last iteration
}
//some code
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48717 次 |
| 最近记录: |