TIL(2023.08.01)

JAKE·2023년 8월 1일

TIL

목록 보기
15/48
post-thumbnail

🏃‍♂️What I learned

1. Collection 中 Set

1) 객체를 주머니에 넣은 것과 같은 형태의 자료구조

HashSet, TreeSet(자동정렬), LinkedHashSet(순서유지) 등이 있음..

2) 기본적으로 List처럼 인덱스 값이 존재하지 않음.
3) 중복도 허용하지 않음(null값도 중복 안됨)

제네릭이 String 이 아닐때는 오버라이딩을 직접 해주어야함
-> hash, equals 오버라이드(소스메뉴에 있음)

4) Set 선언 방법

Set<String> set = new HashSet<String>();

6) Set 주요 메소드
   ① 객체 추가 : add
   ② 객체 수 확인 : size
   ③ 객체 삭제 : remove
   ④ 객체 검색 : iterator + hasNext
   ⑤ 비어있는지 확인 : isEmpty

e.g.)

set.add("name");
set.add("age");
// --------------------------------------  객체 추가 (add)

System.out.println("저장된 데이터 수  : " + set.size());
// --------------------------------------  객체 수 확인(size)

System.out.println(set.remove("name"));
// remove의 반환값은 boolean -> 제거완료면 true, 안되면 false
// --------------------------------------  객체 삭제 (remove)

        
// 1) 첫번째 방법(Iterator, 반복자)
Iterator<String> iter = set.iterator(); // set을 Iterator로 
	while(iter.hasNext()) { 		  // it.hasNext() : 다음 값이 있으면 true 반환
	System.out.println(it.next());	  // it.next() : 다음 값(객체)를 얻어옴
		}
		
// 2) 두번째 방법(향상된 for문) 
for(String temp : set) { 		     // for(하나씩 꺼내서 저장할 변수 : 컬렉션)
	System.out.println(temp);
		}
		
	}	
// -------------------------------------- 객체 검색 (Iterator + ..)              

System.out.println(set.isEmpty());
// isEmpty의 반환값은 boolean -> 객체가 없으면 true, 있으면 false
// -------------------------------------- 비어있는지 확인 (isEmpty)

2. Collection 中 Map

1) 키값과 밸류가 한쌍을 이루는 형태의 자료구조

HashMap, TreeMap 등..

2) key 값만 모아두면 set의 특징(중복 안됨)
3) value를 모아두면 List의 특징 (중복 허용)

4) Map 선언 방법

e.g. )
Map<Integer, String> map = new HashMap<Integer, String>();
// 인티저가 key, 스트링이 밸류 

5) Map 주요 메소드
   ① 객체 추가 : put
   ② 저장 객체 리턴 : get
   ③ 포함 여부 확인 : contains
   ④ 키가 있는지 확인 : containsKey
   ⑤ 값이 있는지 확인 : containsValue
   ⑥ 비어있는지 확인 : isEmpty
   ⑦ 저장된 키값의 수 확인 : size
   ⑧ 객체 삭제 : remove

e.g.)

map.put("id", "user02");
// --------------------------------------  객체 추가 (put)

System.out.println(map.get("id"));
// key값으로 가져옴
// --------------------------------------  저장 객체 리턴 (get)

// 나머지는 다른 컬렉션이랑 비슷 
------------------


1개의 댓글

comment-user-thumbnail
2023년 8월 1일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기