해시맵(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값", "변경값") 형태로 사용해주기만 하면된다.
'Algorithm' 카테고리의 다른 글
Integer 클래스 활용 (0) | 2021.04.28 |
---|---|
자바 큰 수 범위를 표현하기 BigInteger 클래스 (0) | 2021.04.10 |
Arrays.sort(배열,Comparator ?) (0) | 2021.03.27 |
[JAVA] ArrayList 사용 (0) | 2021.02.05 |
Priority Queue (0) | 2021.02.02 |
최근댓글