Java Language Iterator and Iterable Using the raw iterator


While using the foreach loop (or "extended for loop") is simple, it's sometimes beneficial to use the iterator directly. For example, if you want to output a bunch of comma-separated values, but don't want the last item to have a comma:

List<String> yourData = //...
Iterator<String> iterator = yourData.iterator();
while (iterator.hasNext()){
    // next() "moves" the iterator to the next entry and returns it's value.
    String entry =;
    if (iterator.hasNext()){
        // If the iterator has another element after the current one:

This is much easier and clearer than having a isLastEntry variable or doing calculations with the loop index.