Java/Java icia 15일차

Java Map이란 ? ( HashMap )

swkn 2023. 3. 14. 16:13

Java Map 이란 ?

Map 인터페이스는 ArrayList와 다른 저장 방식을 가진다.

Map 인터페이스는 키와 값을 하나의 쌍으로 저장하는 방식( Key - value 방식 )을 사용한다.

여기서 Key 란 실질적인 값(Value)을 찾기 위한 이름의 역할을 한다.

 

즉 , Map이란?

- Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고 , Key를 통해 value를 얻는다.

- Map의 가장 큰 특징이라면 key로 value를 얻어낸다는 점이다.

 

Map의 특징

1. 요소의 저장 순서를 유지하지 않는다.

2. Key 값은 중복을 허용하지 않고 value 값은 중복을 허용한다.


put

Map<Integer, String> map1 = new HashMap<>();

		 map1.put(1, "안녕하세요");

key가 int값을 가져서 integer , value은 String 값을 가져서 String 이다.

 

key와 value 값은 put메소드를 이용하여 입력한다.

 

key value
강아지 "dog"
고양이 "cat"
"bird"

Map의 가장 큰 특징은 key값으로 value를 알아낸다는 점이니

만약 "cat"를 찾기 위해선 key 고양이라는 단어만 있는곳을 펼쳐보면 된다.


get

key값에 해당하는 값을 얻기위한 명령어는 다음과 같다.

System.out.println(map.get("고양이"));

위와 같이 get 메소드를 이용하면 value값을 얻을 수 있다. 위에 출력되는 값은 "cat"이라는 문자열이 출력될 것이다.

 


containsKey

containsKey 메소드는 맵에 해당 키가 있는지를 조사하여 그 결과를 리턴한다.

System.out.println(map.containsKey("강아지"));

"강아지"라는 키는 존재하므로 true가 출력되게 될 것이다.

 


remove

remove 메소드는 맵의 항목을 삭제하는 메소드로 key 값에 해당되는 곳 ( key , value ) 을 삭제한 후

그 value 값을 리턴하게 된다.

System.out.println(map.remove("새"));

"새"에 해당되는 곳(새 = bird ) 이 삭제된 후 "bird"가 출력된다.

 


size

size 메소드는 Map 의 갯수를 리턴한다.

System.out.println(map.size());

"dog" , "cat" , "bird" 값을 가지고 있다가 "새" 항목이 삭제되었으므로 2가 출력될 것이다.