Collection 인터페이스에는 Iterator 를 반화하는 Iterator()를 정의하고 있다.
곧, Collection 인터페이스의 자손인 List와 Set에도 포함되어 있다. 그래서 List나 Set 인터페이스를
구현하는 컬렉션은 iterator() 각 컬렉션의 특징에 알맞게 작성되어 있다.
boolean hashNext() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다.
Object next() : 다음 요소를 읽어 온다. next() 호출 하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인 하는 것이 기본이다.
void remove() next()로 읽어 온 요소를 삭제한다. next()를 호출한 다음에 remove()를 호출해야한다.