ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 68 TIL
    내일배움캠프 2023. 2. 2. 21:07

     

    아오 막막하네요 Jpa 심화에 알고리즘에 아주 띵합니다. 그나마 후발대 수업이 있어서

    머리 좀 식히고 가벼운 새 지식도 알겸 좋았습니다 수업 내용은 저번 후발대 강의 이어서

    오늘은 HashMap, HashSet 관련 진행해 주셨습니다. 

     

    Iterator 를 사용하시길래 요번엔 무슨 기능일까 ? 라는 의문이 생길려 하다가 문뜩

    for, while 문 처럼 반복의 성질을 띄길래 친숙했는데 이걸 왜 사용하지 라는 의문이 생겨

    수업을 마치고 구글링 해봤습니다 

     

    Iterator 의 사전적 의미는 반복자 이고 컨테이너, 리스트를 순회할 수 있게 해주는 객체이다

    ArrayList, HashSet 등과 같은 자료구조에 사용할 수 있음

     

    여기서 생기는 의문은 굳이 for, while 이 있는데 이걸 사용할까 ? 였는데 Set 처럼 index가 없는

    경우 사용되는거 같고 for-each 반복문이 할 수 없는 일은 할 수 있다고 나와있다

     

    Iterator의 장점

    1. 컬렉션에서 요소를 제어하는 기능
    2. next() 및 previous()를 써서 앞뒤로 이동하는 기능
    3. 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 + " ");
            }
        }
    
    }

     

    '내일배움캠프' 카테고리의 다른 글

    71 TIL ( API )  (0) 2023.02.07
    69 TIL  (0) 2023.02.06
    67 TIL  (0) 2023.02.01
    66 TIL  (0) 2023.01.31
    65 TIL  (1) 2023.01.30
Designed by Tistory.