프로그래밍공부노트

Day 20 - JAVA( JCF, SET) 본문

JAVA

Day 20 - JAVA( JCF, SET)

SANGJIN-YU 2021. 3. 10. 21:07
반응형

 56. JCF(Java Collection Framework)

 - java의 자료구조 stack, queue

 - Stack(LIFO), Queue(FIFO)

 - SET, LIST, MAP 모두 INTERFACE로 구성되어 있음

SET LIST MAP 자료구조
자료구조 특징


 Set

 - java.util.Set

 - HashSet, AbstractSet, TreeSet,LinkedHashset.. 등등이 있음

 - 가장 중요한 특징은 순서가 없고 중복값도 없다

public void set(){

//<type> Generic 참조타입의 들어가는 타입을 고정하면 나오는 타입도 고정해서 나옴



//중요중요중요 중복이 불가, 순서도 없음*************
	Set<String> set = new HashSet<String>();  ??HashSet?
		String a ="가", b="나", c="다"; // String 객체 생성


//
String d = new String("다");

	set.add(a); set에 a를 넣는다
	set.add(B); set에 b를 넣는다
	set.add(c); set에 c를 넣는다
	//set 안에 a b c 객체 3개 존재


//Iterator Set의 객체가 비워질때까지 출력 
Iterator <String> iter = set.iterator(); 


//확인하는 방법
//hasNext의 반환타입은 boolean이라서 while문의 조건으로 사용했고
//hasNext는 객체가 남아있다면 true 아니면 false
while(iter.hasNext){
	System.out.println(iter.next());
}

set.add(d); // d를 set에 넣어 d는 new를 통해서 만들었음
// 그렇다면 set에 총 몇개가 들어있을까? "다"는 하나 미리 들어있었는데 어떻게 됐을까?


//size는 길이를 나타내는 메소드
//길이를 나타는 메소드는 딱 3개가 있다. 배열.length; String.length();, size();

System.out.println(set.size()); //3 즉, 중복안된다 그럼 원래 있던게 나가고 대체된건가? 아니면 들어오려던 것이 튕겨나간건가? 궁금
set.remove("c"); 어떻게 remove를 하더라도 결과는 2,
set.remove("다");
System.out.println(set.size()); // 2개가 된다
}
반응형