//컬렉션을 순회할 때는 이 숙어대로 하는 것이 바람직 for (Element e : c) {
foSomething(e;
}
Iterator<Element> i = c.iterator();
while (i.hasNext()) {
doSomething(i.next());
}
...
Iterator<Element> i2 = c2.iterator();
while (i.hasNext()) {
doSomethingElse(i2.next());
}
// 버그!
for (Iterator<Element> i = c.iterator(); i.hasNext(); } {
soSomething(i.next());
} ...
//심볼i를 찾을 수 없다면서 컴파일 시점에 오류 발생
for (Iterator<Element> i2 = c2.iterator(); i.hasNext(); } {
doSomething(i2.next());
}
for (int i = 0; n = expensiveComputation(); i < n; i++ ) {
doSomthing(i);
}
메서드의 크기를 줄이고 특정한 기능에 집중