본문 바로가기
  • developer
  • challenge
Java 문법

자바 List,Set,Map 기능설명(2)

by 빵승 2024. 1. 12.

--Set의 관한 설명(2)--

 

import java.util.Set;
import java.util.TreeSet;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;

public class SetTest {

public static void main(String[] args) {

//Set 계열 - 저장된 순서 x,인덱스번호 x 중복데이터 허용x 
//제일 중요한거는 중복 안되는것!!(보통 블루투스 사용할때 호용성이 좋음)

//Set도 인터페이스 임
//Set set=new Set(); 객체 생성 불가

//Set 인터페이스를 구현한 하위 클래스들을 사용
//Set 계열 : HashSet , TreeSet, LinkedHashSet 

//HashSet<String> set=new HashSet<String>(); //해쉬셋이 되면 무조건 트리셋도 가능 트리셋 이용해볼려고 지워본것
//TreeSet<String> set=new TreeSet<String>(); //순서대로 되기는 하지만 오름차순으로 저장됨.
LinkedHashSet<String> set=new LinkedHashSet<String>();//저장한 순서대로..


//요소추가
set.add(new String("aaa"));
set.add("bbb");
set.add("ccc");
set.add("ddd");
set.add("ffc");
set.add("bbb");  //중복데이터
set.add("ggg");
set.add("eee");
set.add("ffc");  //중복데이터

//요소개수
System.out.println(set.size()+" : "+set.toString()); //순서는 랜덤으로 나옴

//요소 얻어오기
System.out.println(set.getClass());  //.get() 없음...index번호 없음

//요소값을 순차적으로 얻어오기 가능
//방법1. for each
for(String t : set) {
System.out.println(t);
}

//방법2. 반복자(iterator)
Iterator <String> iterator = set.iterator(); //반복자를 소환
while(iterator.hasNext()) {
String s=iterator.next();
System.out.println(s);

}
System.out.println();

//방법3. set 을 배열로 변환하여 접근하기
String[] aaa=new String[set.size()]; //개수가 set과 같은 빈 배열..
set.toArray(aaa);

System.out.println(aaa[0]);
System.out.println(aaa[1]);
System.out.println(aaa[2]);