ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Map계열의 Collections / HashMap / 2019-12-09
    JAVA 2020. 1. 15. 12:08
    728x90
    728x90

    Map 계열

    - K : 키(Key) / V : 값(Value)를 의미

    - 내부적으로 Map.Entry 라는 내부클래스 형태로 저장됨

    => 키와 값으로 구성된 Entry(클래스) 객체의 모임

    - 키는 중복 O, 값은 중복 X

    - HashMap을 많이 사용

    Map<Integer, String> map = new HashMap<Integer, String>();
    map.put(1, "바나나");
    map.put(2, "딸기");
    System.out.println(map);	
    System.out.println("3번 key에 포도 등록 : " + map.put(3, "포도"));  //원래 들어있던 값을 리턴(null리턴)
    System.out.println(map);

    <결과코드>

    {1=바나나, 2=딸기}
    3번 key에 포도 등록 : null
    {1=바나나, 2=딸기, 3=포도}

    값이 들어있는 Key 에 새로운 값을 넣으면

    System.out.println("3번 key에 복숭아 등록 : " + map.put(3, "복숭아"));  
    // 원래 들어있던 값 리턴(포도 리턴)
    System.out.println(map);

    <결과코드>

    3번 key에 복숭아 등록 : 포도
    {1=바나나, 2=딸기, 3=복숭아}

     

    // key값으로 값을 가져올 수 있음
    System.out.println("2번 key에 등록된 value : " + map.get(2));
    
    // map의 Key 중 값이 있는지를 확인
    System.out.println("4번 key를 가지고 있나? " + map.containsKey(4));
    // map의 Value 중에 값이 있는지를 확인
    System.out.println("사과값을 들고 있나? " + map.containsValue("사과"));

    <결과코드>

    2번 key에 등록된 value : 딸기
    4번 key를 가지고 있나? false
    사과값을 들고 있나? true

     

    모든 Key, Value, Entry값 가져오기

    System.out.println("모든 key를 출력 : " + map.keySet());	// Set계열 객체 변환
    System.out.println("모든 값을 출력 : " + map.values());
    System.out.println("모든 엔트리 출력 : " + map.entrySet());

    <결과코드>

    모든 key를 출력 : [1, 2, 3]
    모든 값을 출력 : [바나나, 딸기, 복숭아]
    모든 엔트리 출력 : [1=바나나, 2=딸기, 3=복숭아]
    System.out.println("2번 키 삭제 : " + map.remove(2));	// 삭제한 값 반환 // remover(key 값)
    System.out.println("모든 데이터 출력 : " + map);
    System.out.println("2번 키 삭제 : " + map.remove(2));	
    // remove(index) 가 null인 경우 삭제할 키가 존재하지 않는다
    
    System.out.println("맵에 저장된 엔트리 갯수 : " + map.size());
    map.clear();
    System.out.println("모든 데이터 출력 : " + map);

    <결과코드>

    2번 키 삭제 : 딸기
    모든 데이터 출력 : {1=바나나, 3=복숭아}
    2번 키 삭제 : null
    맵에 저장된 엔트리 갯수 : 2
    모든 데이터 출력 : {}

     

    모든 값을 Collection 타입 객체로 리턴

    // 객체 생성 시 파라미터로 전달하여 변환 수행
    List keyList = new ArrayList(map.keySet());
    System.out.println("모든 키값 출력" + keyList);
    List valueList = new ArrayList(map.values());
    System.out.println("모든 데이터 출력" + valueList);

    <결과코드>

    모든 키값 출력[1, 2, 3]
    모든 데이터 출력[바나나, 딸기, 복숭아]

     

    728x90
    728x90
Designed by Tistory.