자바 컬렉션 배우다 보면 꼭 등장하는 자료구조가 있다.👉 HashSet처음 보면 그냥:Set set = new HashSet();이렇게만 쓰고 넘어가기 쉽다.근데 내부 동작 원리를 이해하면:✔ 왜 중복이 제거되는지✔ hashCode()와 equals() 역할✔ 왜 순서가 없는지✔ HashMap과 관계이런 게 한 번에 이해된다.실무에서도 진짜 많이 쓰는 컬렉션이다.HashSet 이란?👉 중복을 허용하지 않는 Set 컬렉션예시:Set set = new HashSet();set.add("Java");set.add("Java");set.add("Spring");System.out.println(set);실행 결과[Java, Spring]👉 "Java" 중복 저장 안 됨HashSet 핵심 특징✔ 중복 불가✔..
자바 컬렉션에서 가장 많이 사용하는 자료구조 하나를 뽑으라면 거의 무조건 나온다.👉 HashMap실무에서도 엄청 많이 쓰고,코딩 테스트에서도 자주 나오고,면접 단골 질문이기도 하다.근데 많은 사람들이 그냥:Map map = new HashMap();이렇게만 쓰고 끝난다.사실 내부 구조를 이해하면:✔ 왜 조회가 빠른지✔ hashCode()가 왜 중요한지✔ equals() 역할✔ 충돌(Collision) 처리 방식✔ Java 8에서 왜 빨라졌는지이런 게 전부 연결된다.HashMap 이란?👉 Key-Value 형태로 데이터를 저장하는 자료구조예시:map.put("apple", 1000);구조 느낌:Key Valueapple → 1000HashMap 핵심 특징✔ Key 중복 불가✔ Value 중복 가..
자바에서 컬렉션 배우면 거의 무조건 나오는 비교가 있다.👉 ArrayList vs LinkedList둘 다 List 인터페이스를 구현해서 사용법은 비슷하다.List list = new ArrayList();List list = new LinkedList();근데 내부 구조가 완전히 다르다.이 차이를 이해하면:✔ 어떤 상황에서 더 빠른지✔ 왜 성능 차이가 나는지✔ 실무에서 뭘 더 많이 쓰는지이런 게 전부 이해된다.ArrayList 란?👉 배열(Array) 기반 리스트내부적으로는 진짜 배열을 사용한다.대충 이런 느낌:[ A ][ B ][ C ][ D ]메모리상에 데이터가 연속적으로 저장된다.LinkedList 란?👉 노드(Node) 연결 기반 리스트각 데이터가 서로 연결되어 있다.대충 이런 구조:[A]..