hashset

Java

equals 와 hashCode 왜 같이 재정의할까? Java 핵심 개념 완벽 정리

Java 공부하다 보면 거의 반드시 듣게 되는 말이 있다.👉 equals와 hashCode는 같이 재정의해야 한다근데 처음 들으면 솔직히 이해가 잘 안 된다.왜냐면 대부분 이렇게 생각한다."equals만 비교하면 되는 거 아닌가?"실제로 equals만 오버라이딩해도:obj1.equals(obj2)는 정상 동작한다.근데 문제는:✔ HashSet✔ HashMap✔ HashTable✔ 중복 제거✔ key 비교같은 상황에서 발생한다.그리고 실무에서는:중복 데이터조회 실패contains 실패같은 이상한 버그가 생긴다.오늘은 equals와 hashCode를 왜 같이 재정의하는지 초보자도 이해할 수 있게 쉽게 정리해보겠다.먼저 equals란?👉 객체의 논리적 동등성 비교쉽게 말하면:내용이 같은지 비교한다.기본 e..

Java

HashSet 동작 원리 완벽 정리 (중복 제거, hashCode, equals, HashMap 관계까지)

자바 컬렉션 배우다 보면 꼭 등장하는 자료구조가 있다.👉 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 핵심 특징✔ 중복 불가✔..

Coding_Slowly
'hashset' 태그의 글 목록