⚙️ Backend/JAVA

Java 컬렉션 프레임 워크 - Map (1)

코너(Corner) 2020. 12. 10.
반응형

[Programmer/JAVA] - Java 자바 - LinkedHashSet을 이용하여 Bingo게임 만들기

[Programmer/JAVA & C언어 예제] - 자바(Java) - HashSet 을 이용해 로또 프로그램 만들기

[Programmer/JAVA & C언어 예제] - 자바 - Java 컬렉션 : HashSet 예제 풀이

[Programmer/JAVA] - JAVA - 컬렉션 : TreeSet (트리구조)

[Programmer/JAVA] - JAVA 자바 - 컬렉션 : Set

[Programmer/JAVA] - JAVA 자바 - 컬렉션 : Vector

[Programmer/JAVA] - 자바 - 컬렉션 프레임워크 - List 계열

1) 개요

  • Map 컬렉션은 Key와 Value으로 구성된 Entry객체를 저장하는 구조를 가지고 있다.
  • 여기서 키와 값은 모두 객체이다.
  • 키는 중복 저장될 수 없지만 값은 중복 저장 될 수 있다.
  • 만약에 기존에 저장된 키와 동일한 키로 저장하면 기존의 값은 없어지고 새로운 값으로 대치된다.

 

2) 구조 

 

3) 구현 클래스 : HashMap, HashTable, LinkedHashMap, Properties, TreeMap


4 ) 주요 메소드

- 메소드의 매개변수 타입과 리턴 타입에 K와 V라는 타입 파라미터가 잇는데, 이는 제네릭 타입을 말한다.

- K : key , V : value

- 구현 객체에서 구체적인 타입을 지정하면 된다 .

 

 

활용


객체 추가 - put();

키로 객체를 찾아올 때 - get()

객체 삭제는 remove()

// 사용 예
Map<String, Integer> map = ~~;
map.put("홍길동", 30);
int score = map.get("홍길동");
map.remove("홍길동");

 

객체를 찾아오기 

방법1  ) 키(key)를 알고 있어서 바로 결과를 얻을 경우

get(key) === > 예시) get("홍길동");

 

 

방법2 ) 저장된 전체 객체를 대상으로 하나씩 얻고 싶을 경우 2가지 방법으로 찾는다.

  • (1) keySet()메소드로 모든 키를 set컬렉션을 얻은 다음 -> 반복자(Iterator)를 통해 키를 하나씩 얻고, get()메소드를 통해 값 얻기


Map<Key, Value> map = ~~; 
Set<Key> keySet = map.ketSet();

Iterator<Key> keyIterator = keySet.iterator();
while(keyIterator.hasNext()){
	Key k = keyIterator.next();
    Value v = map.get(key);
    }
    

 

  • (2) entrySet() 메소드로 모든 Map.EntrySet컬렉션으로 얻은 다음 -> 반복자를 통해 Map.EntrySet컬렉션으로 얻은 다음
    -> 반복자를 통해 Map.Entry를 하나씩 얻고
    -> getKey()getValue()메소드를 이용해서 키와 값을 얻으면 된다. 
Set<Map.Entry<K,V> entrySet = map.entrySet();

Iterator<Map.Entry<K,V>> entryIter = entrySet.iterator();

while(entryIter.hasNext()){
	Map.Entry<K, V> entry = entryIter.next();
    K key = entry.getKey();
    V value = entry.getValue();
    
    }

 


 

 


 

 

반응형

댓글