-
아오 막막하네요 Jpa 심화에 알고리즘에 아주 띵합니다. 그나마 후발대 수업이 있어서
머리 좀 식히고 가벼운 새 지식도 알겸 좋았습니다 수업 내용은 저번 후발대 강의 이어서
오늘은 HashMap, HashSet 관련 진행해 주셨습니다.
Iterator 를 사용하시길래 요번엔 무슨 기능일까 ? 라는 의문이 생길려 하다가 문뜩
for, while 문 처럼 반복의 성질을 띄길래 친숙했는데 이걸 왜 사용하지 라는 의문이 생겨
수업을 마치고 구글링 해봤습니다
Iterator 의 사전적 의미는 반복자 이고 컨테이너, 리스트를 순회할 수 있게 해주는 객체이다
ArrayList, HashSet 등과 같은 자료구조에 사용할 수 있음
여기서 생기는 의문은 굳이 for, while 이 있는데 이걸 사용할까 ? 였는데 Set 처럼 index가 없는
경우 사용되는거 같고 for-each 반복문이 할 수 없는 일은 할 수 있다고 나와있다
Iterator의 장점
- 컬렉션에서 요소를 제어하는 기능
- next() 및 previous()를 써서 앞뒤로 이동하는 기능
- hasNext()를 써서 더 많은 요소가 있는지 확인하는 기능
실습 및 구글링을 통한 추가 기능
public class _06_Iterator { public static void main(String[] args) { ArrayList<String> cars = new ArrayList<>(); cars.add("벤츠"); cars.add("람보르기니"); cars.add("롤스로이스"); cars.add("페라리"); // while문을 사용한 경우 Iterator<String> iterator = cars.iterator(); while (iterator.hasNext()) { System.out.println("cars : " + iterator.next() ); } System.out.println("-------------------"); // for-each문을 사용한 경우 for (String car : cars) { System.out.println("cars : " + car); } System.out.println("-------------------"); ListIterator<String> listIterator = cars.listIterator(); while (listIterator.hasNext()) { Object element = listIterator.next(); listIterator.set(element + " 자동차" ); } System.out.println("while문 지난 후 수정된 결과 : " + cars + "\n-------------------"); // 리스트에 들어있는 값을 역순으로 표시 System.out.print("역순 출력 결과 : "); while (listIterator.hasPrevious()) { Object element = listIterator.previous(); System.out.print(element + " "); } } }