본문 바로가기
728x90

HashMap2

[Java] 버전 별 Map 선언 방법 개요 최근 Java 8로 개발 중에 Map을 선언하고 값을 초기화하는 과정에서 불편함을 느끼게 되었다. 자바 8에서는 Map을 간단하게 초기화할 수 있는 방법이 제한적이었고, 코드가 길어지는 경향이 있었다.  그런데 이후 버전에서는 이 문제를 해결할 수 있는 다양한 방법들이 도입되었다. 그래서 이번 글에서는 Java 버전 별 Map 선언 방식의 차이를 설명하며, 더 효율적으로 Map을 다루는 방법을 정리해 보려고 한다.  Java에서 Map 선언 방식의 변화 Map은 키-값 쌍으로 데이터를 저장하는 유용한 자료구조다. 하지만 Java의 초기 버전에서는 Map을 선언하고 데이터를 초기화하는 과정이 다소 번거로웠다.  Java 9 이후에는 이러한 단점을 보완하기 위한 새로운 메서드들이 추가되면서, Map .. 2024. 9. 27.
자바 객체의 equals()와 hashCode() 오버라이드 시 주의할 점 개요개발을 하다 보면 객체를 비교하는 상황이 자주 발생한다. 최근 프로젝트에서 HashSet을 사용해 중복을 제거하는 기능을 구현하면서, equals()와 hashCode()의 오버라이드가 제대로 이루어지지 않아 의도치 않은 결과를 경험했다. 이 문제를 해결하면서 객체 비교와 해시 테이블 기반 컬렉션(HashSet, HashMap 등)의 동작 원리를 이해하는 것이 중요하다는 것을 깨달았다. 이번 글에서는 자바에서 객체의 equals()와 hashCode()를 올바르게 오버라이드하는 방법과 그 과정에서 주의할 점을 중점적으로 설명하려 한다.  객체 비교에서 equals()와 hashCode()의 역할 자바에서 객체를 비교할 때 가장 기본적인 메서드가 equals()와 hashCode()다. equals().. 2024. 9. 22.