해시맵(HashMap)
해시맵(HashMap) : 키(Key) 와 값(Value)를 하나의 세트로 묶어서 저장하는 컬랙션 클래스를 구현하는데 사용
특징 : 데이터와 중복된 키와 값을 저장하면 기존의 값은 없어지고 마지막에 저장된 값이 남는다.
key를 이용해 value를 알아낼 수 있다.
삽입, 삭제, 검색 과정에서 모두 평균적으로 O(1) 의 시간복잡도를 가지기 떄문에 빠름
순서에 상관없이 key만을 가지고 삽입,삭제,검색하기 때문에 순서/관계가 있는 배열에는 알맞지 않음
프로그래머스 Hash 완주하지 못한 선수
이 문제는 participant 배열과 completion 배열의 관계를 잘 생각해보면 바로 풀 수 있는 문제였다.
participant 배열과 completion 배열의 길이차이는 무조건 하나였기 때문에 각 배열을 정렬시켜서
일치하지 않는 인덱스의 선수를 리턴하면 되었다.
하지만 이 문제는 해시 유형의 문제로 명시 되어 있기 때문에 hash로 풀수 있어야 한다.
문제를 풀고 다른사람의 풀이에서 활용가치가 꽤 있는 메소드를 알 수 있었다.
해시맵객체.getOrDefault(key,default_value) 는 해시맵에서 key에 해당하는 value를 찾는데 그값이 null일 경우
지정한 default_value 값을 리턴한다.
해쉬 key 값을 이용해서 value값을 바꾸는 방법으로는
특정 key에 매핑되는 value(데이터) 변경시 데이터 입력시 사용했던 put메소드를 사용 하면된다.
즉, put("변경할 대상 key값", "변경값") 형태로 사용해주기만 하면된다.