본문 바로가기

HashMap4

[자료구조] ConcurrentHashmap, HashMap, HashTable 회사 선임님이 ConcurrentHashMap를 사용하셔서 궁금해서 찾아본김에 바로 정리쓰 ConcurrentHashMap HashMap을 thread-safe 하도록 만들어진 클래스 key, value에 null을 허용하지 않음 putIfAbsent 메소드 존재 putIfAbsent() key 값이 존재하면 기존 값 반환, 아니면 해당 값을 저장한 뒤 반환 다른 비슷한 자료구조들은 어떨까? Hashtable get(), put() 메소드 public synchronized V get(Object key) { ... } public synchronized V put(K key, V value) { ... } 메소드 레벨에서 synchronized를 사용한다. 위처럼 메소드 레벨에서 synchronized.. 2019. 12. 29.
[level.1] 프로그래머스 완주하지 못한 선수 문제 설명수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.제한사항마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.completion의 길이는 participant의 길이보다 1 작습니다.참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.참가자 중에는 동명이인이 있을 수 있습니다.입출력 예participantcompletionreturn[leo, kiki, eden][eden, .. 2018. 10. 5.
[자료구조] 자바 Map 총정리 Map이 잘 기억이 나지 않아 정리를 하려한다. map은 key와 value로 쌍을 이룬다.key 값은 중복 될 수 없지만 value는 중복이 가능하다.주민등록번호는 중복되는 사람이 없지만 이름은 같은 사람을 떠올리면 쉽게 이해 할 수 있다. Map 메소드 중 가장 많이 쓰이는 메소드는 put(), get(), remove()이다. 가장 많이 쓰이는 클래스는 HashMap, TreeMap, LinkedHashMap이다.HashMap과 HashTable의 차이점은 아래와 같다. 기능HashMapHashTable키, 값에 null 저장 가능 여부OX여러 쓰레드 안전 여부XO그래서 HashMap을 Thread safe하게 이용하려면Map m = Collections.synchronizedMap(new Hash.. 2018. 9. 28.
자바 Set, HashSet, TreeSet, HashMap 정리 Collection 인터페이스를 기반으로 구현한 클래스에는 List와 Set이 있다.List 클래스는 선형 자료구조를 구현한 클래스Set은 비선형 자료를 구현한 클래스이다. Set은 빠른 검색이 필요할 때 사용하는 클래스, 같은 자료를 중복 보관할 수 없다.선형 자료구조의 탐색 비용은 O(N) 이고, 이진 탐색 트리의 탐색 비용은 (logN), 해쉬 테이블의 탐색 비용은 O(1) 이다. - HashSetadd, remove, clear, clone, ontains, isEmpty, iterator, size 메소드가 있다.add메소드는 String 타입의 객체만 저장할 수 있다.Map 구조와 달리 중복을 허용하지 않는 특징이 있다.Set 클래스에는 HashSet, TreeSet, LinkedHashSet.. 2018. 7. 16.