시간복잡도 2

Java 대용량 데이터 HashSet 기본개념 및 사용법(예시)

개요 안녕하세요. 빈코입니다! 오늘은 이전 포스팅에서 다룬 HashMap의 기본개념 및 시간복잡도에 이어서 HashSet을 사용하는 방법과 HashSet이 가지는 특징들에 대해 포스팅하려 합니다. 그럼 HashSet의 기본개념부터 알아볼까요? 기본 개념📙 HashSet을 알아보기 앞서 Set의 기본개념은 객체를 중복해서 저장할 수 없는 특징을 가지고 있습니다. 그래서 대부분 중복되는 값이 여러 번 추가될 수 있는 로직에서 많이 쓰이곤 합니다. Set은 저장 순서가 유지되지 않는 특징이 있는데, 만약 저장 순서도 유지하고 싶을 때는 LinkedHashSet 클래스를 사용하면 됩니다. Set을 이용한 대표적인 클래스는 HashSet과 TreeSet이 있는데 HashSet은 앞서 말한것처럼 저장 순서가 유지되..

TIL 2024.02.08

Java 대용량 데이터 HashMap 기본개념 및 시간복잡도(예시)

개요 안녕하세요! 빈코입니다. 오늘은 이전 포스팅에 다룬 자료구조 반복문과 배열의 시간복잡도 차이에 이어서 HashMap의 시간복잡도와 기본개념에 대해 포스팅하려 합니다. 많은 분들이 착각하시는 것 중에 하나가 '대용량 데이터는 무조건 Hash 알고리즘을 써야 한다!'인데, 사실 자료구조 선택은 각각의 개발 상황에 맞게 해야 하기 때문에, 어쩔 때는 반복문이 또 어쩔 때는 배열이 더 성능이 좋을 수도 있습니다. 그럼 한번 알아볼까요? HashMap 기본 개념📙 HashMap이란 키에 대한 해시 값을 사용하여 값을 저장하고 조회하며, 키-값 쌍의 개수에 따라 동적으로 크기가 증가하는 associat array(Map, Dictionary, Symbol Table)라고 할 수 있습니다. map은 대응 관계를..

TIL 2024.02.02