Java Map

춤인형의 개발일지·2024년 11월 29일

java

목록 보기
7/14

24/11/27(수) Map

HashMap

리스트로만 데이터를 관리하기에는 한계가 있다. 그래서 사용하는 것이 해쉬맵이다

리스트에는 value값만 있다면 HashMap은 value(값)에 key라는 요소를 추가하여 저장된다. ("key, value" 쌍)
HashMap은 key로 저장해 둔 value를 찾기 때문에 index(위치)라는 것이 없고 value 사이에 순서도 없음.
헷갈리니까 "키벨류"로 기억하자~!

🤖코드의 구조

HashMap<Integer, String> students = new HashMap<>();
//new HashMap<데이터타입> + ctrl+alt(option)+v -> 자동완성

put()메서드 (create)

map에 데이터를 추가하는것 - 만드는것

students.put(`1003, "송삼동");
students.put(1002, "고혜미");
students.put(1004, "김필숙");
//1003은 key 송삼동은 value

get()메서드 (Read)

map에 데이터를 읽어오는것

assertThat(students.get(1002)).isEqualTo("고혜미");
assertThat(students.get(1004)).isEqualTo("김필숙");
assertThat(students.get(1003)).isEqualTo("송삼동");
데이터 읽는 방법
  1. key값만 읽을 때
//students.keySet().for + 엔터
for (Integer key : students.keySet()) {
    System.out.println("key = " + key);
}
  1. value값만 읽을 때
//students.values().for + 엔터
for (String value : students.values()) {
    System.out.println("value = " + value);
}
  1. 둘다 쭉 읽을 때
//students.entrySet().for + 엔터
//.getKey, .getValue도 작성해야한다.
for (Map.Entry<Integer, String> entry : students.entrySet()) {
    Integer key = entry.getKey();
    String value = entry.getValue();
    System.out.println("Key: " + key + ", Value: " + value);
}

remove()메서드 (Delete)

map에 데이터를 읽어오는것

students.remove(1003);
assertThat(students.size()).isEqualTo(2);
assertThat(students.get(1003)).isNull();

update는 없음! 그냥 덮어쓰는 용도여서 put을 사용해서 덮어쓰는 것만 허용됨


😐 느낀점

리스트의 확장버전이라고 생각하고 작성하면된다.

0개의 댓글