替换上面的循环
我开始通过for-each循环替换for循环,但我不知道我们是否可以通过for-east循环替换以下情况。
示例代码:
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;
}
}
是否可以通过增强的循环?
类似的东西?
String lastName = null;
for (String name : names) {
if (name.equals(lastName))
break;
lastName = name;
}
Iterator iter = Arrays.asList(names).iterator();
iter.next();
for(String name:names) {
if(iter.hasNext()&&name.equals(iter.next()))
{
System.out.println(name);
break;
}
}