| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
- 알고리즘
 - java
 - react
 - CleanCode
 - 인프런백기선
 - 자바스터디
 - aop
 - 자바예외
 - AWS
 - 스프링부트와AWS로혼자구현하는웹서비스
 - 이팩티브 자바
 - SQL쿡북
 - 자료구조
 - vue.js
 - 혼공SQL
 - 이펙티브 자바
 - 이펙티브자바
 - 클린코드
 - DDD
 - 도메인 주도 개발 시작하기
 - mysql
 - 기술면접
 - AWS RDS
 - jpa
 - 알고리즘분석
 - 자바
 - 네트워크
 - 인프런김영한
 - MariaDB
 - 인덱스
 
- Today
 
- Total
 
목록equals (2)
기록이 힘이다.
핵심 정리: hashCode 규약 - equals 비교를 사용하는 정보가 변경되지 않았다면 hashCode는 매번 같은 값을 리턴해야 한다. (변경되거나, 애플리케이션을 다시 실행했다면 달라질 수 있다.) - 두 객체에 대한 equals가 같다면, hashCode의 값도 같아야 한다. - 두 객체에 대한 equals가 다르더라도, hashCode의 값은 같을 수 있지만 해시 테이블 성능을 고려해 다른 값을 리턴하는 것이 좋다. 동작은 한다. @Override public int hashCode(){ return 42; } hashCode가 같으면 모두 같은 버킷에 들어간다. linked list 처럼 동작 --> hash값으로 꺼내기 때문에 효용의 가치가 없다. O(n)만큼 들어가서 알고리즘의 효율성이 ..
핵심 정리: equals를 재정의 하지 않는 것이 최선 다음의 경우에 해당된다면 equals를 재정의 할 필요가 없다. 각 인스턴스가 본질적으로 고유하다. ex)enum 인스턴스의 '논리적 동치성'을 검사할 필요가 없다. 상위 클래스에서 재정의한 equals가 하위 클래스에도 적절하다. 클래스가 private이거나 package-private이고 equals 메서드를 호출할 일이 없다. 핵심 정리: equals 규약 반사성: A.equals(A) == true 대칭성: A.equals(B) == B.equals(A) CaseInsensitiveString package me.whiteship.chapter02.item10; import java.util.ArrayList; import java.util...