Set 인터페이스 - HashSet

이진석·2022년 8월 17일
1
post-thumbnail

20220817

한 번에 끝내는 Java/Spring 웹 개발 마스터

  • HashSet

1) MemberHashSet 클래스

public class MemberHashSet {

	private HashSet<Member> hashSet;

	public MemberHashSet(){
		hashSet = new HashSet<Member>();
	}
	
	public MemberHashSet(int size) {
		hashSet = new HashSet<>();
	}
	
	public void addMember(Member member){
		hashSet.add(member);
	}
	
	public boolean removeMember(int memberId){

		Iterator<Member> ir = hashSet.iterator();
		
		while( ir.hasNext()){
			Member member = ir.next();
			int tempId = member.getMemberId();
			if( tempId == memberId){
				hashSet.remove(member);
				return true;
			}
		}
		
		System.out.println(memberId + "가 존재하지 않습니다");
		return false;
	}
	
	public void showAllMember(){
		for(Member member : hashSet){
			System.out.println(member);
		}
		System.out.println();
	}
}

2) Member클래스의 HashSet부분

@Override
	public int hashCode() {
		return memberId;
	}

	@Override
	public boolean equals(Object obj) {
		if( obj instanceof Member){
			Member member = (Member)obj;
			if( this.memberId == member.memberId )
				return true;
			else 
				return false;
		}
		return false;
	}

  • Hashset이란 "Set 인터페이스에서 지원하는 구현 클래스"이다.
  • HashSet클래스의 특징으로는 중복을 허용하지 않는다는 것이 있다는 것을 알게 되었다.
profile
혼자서 코딩 공부하는 전공생 초보 백엔드 개발자 / https://github.com/leejinseok0614

0개의 댓글