편집 기록

편집 기록
  • 프로필 마르코님의 편집
    날짜2023.01.25

    자바 iterator 질문이요


    /*
        * Iterator 예제
        * 리스트에 들어있는 일, 월, 수 중에서 수 라는 데이터를 삭제하는 예제 
        * iterator 안에는 hasnext, next, remove가 있다. 저 기능들을 하는 메소드가 있음 
    */
    
    package iteator;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class IteratorPractice {
        public static void main(String[] args) {
            ArrayList list = new ArrayList();
            list.add("일");
            list.add("월");
            list.add("수");
    
            Iterator iter = list.iterator();
    
    
            while (iter.hasNext()==true) {
                String day = (String) iter.next();
                if(day == "수") {
                    iter.remove();
                } System.out.println("Day: "+ day);
            }
    
    System.out.println("=============================");
            iter = list.iterator();  
            while (iter.hasNext() == true) {
                String day = (String)iter.next(); 
                System.out.println("Day: " + day);
            }
    
        }
    }
    

    [질문]

    System.out.println("============================="); 밑 줄에 iter = list.iterator();를 다시 값을 넣어주는 이유가 무엇인가요?

    위에 Iterator iter = list.iterator(); 를 이미 썼는데요

    그리고 써야하는 거라면, 둘다 이름이 iter여도 상관없는건가요?

  • 프로필 jenna님의 편집
    날짜2023.01.20

    자바 iterator 질문이요


    /*
         * Iterator 예제
         * 리스트에 들어있는 일, 월, 수 중에서 수 라는 데이터를 삭제하는 예제 
         * iterator 안에는 hasnext, next, remove가 있다. 저 기능들을 하는 메소드가 있음 
         */
    

    package iteator;

    import java.util.ArrayList; import java.util.Iterator;

    public class IteratorPractice { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("일"); list.add("월"); list.add("수");

        Iterator iter = list.iterator();
    
    
        while (iter.hasNext()==true) {
            String day = (String) iter.next();
            if(day == "수") {
                iter.remove();
            } System.out.println("Day: "+ day);
        }
    

    System.out.println("============================="); iter = list.iterator();
    while (iter.hasNext() == true) { String day = (String)iter.next(); System.out.println("Day: " + day); }

    }
    

    }

    질문: System.out.println("============================="); 밑 줄에 iter = list.iterator(); 를 다시 값을 넣어주는 이유가 무엇인가요? 위에 Iterator iter = list.iterator(); 를 이미 썼는데요 그리고 써야하는 거라면, 둘다 이름이 iter여도 상관없는건가요?