[JAVA] Collections Framework (2)

래림·2023년 4월 20일
0

Java

목록 보기
3/4

Map에는 Iteration기능이 없다. (collection에는 있음)

import java.util.*;

class Main {
  public static void main(String[] args) {
   HashMap<String,Integer> a=new HashMap<String,Integer>();

    a.put("one",1);
    a.put("two",2);
    a.put("three",3);
    a.put("four",4);


    iteratorUsingForEach(a);
    iteratorUsingIterator(a);

    
  }

  static void iteratorUsingIterator(HashMap map){
    Set<Map.Entry<String,Integer>> entries=map.entrySet();
    Iterator<Map.Entry<String,Integer>> i=entries.iterator();
    while(i.hasNext()){
      Map.Entry<String,Integer> entry=i.next();
      System.out.println(entry.getKey()+" : "+entry.getValue());
    }
  }
  static void iteratorUsingForEach(HashMap map){
    Set<Map.Entry<String,Integer>> entries=map.entrySet();
    for (Map.Entry<String,Integer> entry:entries){
      System.out.println(entry.getKey()+" : "+entry.getValue());
    }
    
  }
}

Map.Entry라는 형태의 Set을 만들어 Iterator를 이용해 반복문을 사용하는듯 하다.

Map.entry가 뭐하는거지?
찾아보니까 Map의 Key-value를 다루기 위한 인터페이스라고 한다.
entry가 한국어로 등록하다 머 이런뜻이라는데





이거 공부하다보니까 갑자기 인터페이스가 뭔지 기억이 안나네

중딩때 외운 주기율표는 지금도 외울 수 있는데 2년전에 공부한 이건 왜 기억이 안나냐

이거 참고해서 공부했슴다

0개의 댓글