Iterate without an index
Some programmers have a strong preference for using a for-each loop or an Iterator instead of for-loops.
The traditional for-loop always uses a loop index - an integer that identifies each iteration of the loop. Loop indexes have always been a fruitful source of error. For example, off-by-one errors are very common in programming, and they are often related to these loop indexes. In addition, the (rather unnatural) computer science tradition of starting loop indexes from 0 instead of from 1 is a continual source of trivial errors.
Since they are more error prone, for-loops should generally be avoided.
Example
import java.util.*; /** Different iteration styles. */ public class IterateNoIndex { /** * Iterating without an index is more compact and less * error prone. */ public void withoutIndex(){ //for-each loop is usually preferred List<String> trees = Arrays.asList("Maple", "Birch", "Poplar"); for(String tree: trees){ log(tree); } //Iterators are not as compact as a for-each loop Iterator<String> iter = trees.iterator(); while (iter.hasNext()) { log(iter.next()); } } /** Iterating with an index is more error prone. */ public void withIndex(){ //traditional for-loop for(int idx=0; idx < 10; ++idx){ log("Iteration..."); } } // PRIVATE private void log(String aMessage){ System.out.println(aMessage); } }
See Also :
Would you use this technique?
|
|