Set<E> 인터페이스

🖋️ 주요 메소드

🖋️ 주요 구현 클래스

<aside> 💡 equals 메소드와 동등성 체크

⇒ String처럼 동등성 비교를 하도록 하고 싶다면, Object의 equals, hashCode 메소드를 재정의해야 한다.

</aside>

// hashCode, equals() 의 재정의 예시

// 사용자의 정보를 표현하는 User 클래스에서 사용자번호 no가 같아도 같은 객체라고 보게 할 경우

@Override
	public int hashCode() {
		return Objects.hash(no);
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		User other = (User) obj;
		return no == other.no;
	}

<aside> 💡 웹개발 업무로직에서는 자바에서 정렬을 쓸 일은 사실 많지 않다. DB에서 데이터를 가져와 ArrayList에 담기 때문에.

</aside>

📌 Set<E> 구현객체 용례

반환값, 참조변수, 매개변수 타입은 각 구현객체가 아닌 인터페이스 타입 Set<E>, SortedSet<E>으로 설정한다.

Set<E> x = new HashSet<>();

SortedSet<E> x = new TreeSet<>();