我开始用for-each循环替换for循环,但我不知道是否可以用for-each循环替换下面的场景。
示例代码:
String[] names = {"", ""};
for(int i =0; i<names.length - 1; i++) {
if(names[i].equals(names[i+1]))
break;
}
使用for-each循环,我们可以一次迭代一个元素,如
for(String name : names){
System.out.println(name);
}
任何人都可以帮助我。
感谢。
更新:
寻找以下代码段的通用解决方案:
boolean flag = false;
for(int i=0; i<names.length-1; i++) {
// logic
for(int j=i+1; j<names.length; j++) {
if(names[i].equalsIgnoreCase(names[j])) {
flag = true;
break;
}
}
if(flag){
break;
}
}
是否可以通过Enhanced for-loop替换上面的for循环?
答案 0 :(得分:3)
这样的东西?
String lastName = null;
for (String name : names) {
if (name.equals(lastName))
break;
lastName = name;
}
答案 1 :(得分:0)
Iterator iter = Arrays.asList(names).iterator();
iter.next();
for(String name:names) {
if(iter.hasNext()&&name.equals(iter.next()))
{
System.out.println(name);
break;
}
}