Set <E> 컬렉션 인터페이스

5BRack·2022년 7월 4일

자바란?

목록 보기
31/42

Set 컬렉션 인터페이스

  • List 컬렉션은 객체 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지 되지 않음.

  • 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있음

  • Set 컬렉션은 수학의 집합과 비슷하다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문

  • 데이터를 구분하는 유일한 방법은 데이터 그자체이다.

  • Set 컬렉션 종류는 HashSet, LinkedhashSet, TreeSet등이 있는데 다음은 Set 컬렉션에서 공통적으로 사용가능한 메서드 이다.

  • 인덱스로 관리하지 않기 때문에 인덱스를 매개변수값으로 갖는 메서드는 존재하지 않는다.

Set 컬렉션에서 String 객체를 저장하고 삭제하는 방법

Set<String> set = ...;
set.add("홍길동");
set.add("신용건");
set.remove("홍길동");
  • Set 컬렉션에는 인덱스로 객체를 검색해서 가져오는 매서드가 존재하지 않음 대신 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자를 제공함 반복자는 Iterator 인터페이스를 구현한 객체를 말하는 데 iterator()메서드를 호출하면 얻을 수 있음

Iterator 인터페이스 구현

Set<String> set = ...;
Iterator<String> iterator = set.iterator();

Iterator 인터페이스 메서드

  • iterator를 굳이 사용하지 않더라도 향상된 for문을 이용해서 전체 대상을 반복할 수 있음

Set컬렉션에서 메서드로 가져온 객체를 제거할때 사용하는 코드

While(iterator.hasNext()){
	String str = iterator.next();
	if(str.equals("홍길동")){
	iterator.remove();	
	}
}

0개의 댓글