day 17
package api.util.collection2;
import java.util.Set;
import java.util.TreeSet;
public class Test01 {
public static void main(String[] args) {
//Set
//- 중복이 없는 저장소
//- 순서가 정해진 저장소
TreeSet a = new TreeSet();
TreeSet<String> b = new TreeSet<>();
Set<String> c = new TreeSet<>();
//추가 - .add()
c.add("마리오");
c.add("루이지");
c.add("쿠파");
c.add("피오나");
c.add("루이지");
//검색 - .contains()
System.out.println(c.contains("피카츄"));
System.out.println(c.contains("루이지"));
//삭제 - .remove()
c.remove("마리오");
System.out.println(c);
System.out.println(c.size());
//주의 - .get()이 없다
}
}
1. 자료형을 명시해야 함 ex) TreeSet <String>
2. Set으로 업캐스팅
주요 명령
1. 추가
.add()
2. 검색
.contains() == true or false
3. 삭제
.remove()
but
Set은 순서가 없기 때문에 몇 번째 지우기 .. 이런 거 불가능
4. get이라는 명령이 없다 !! (주의!!)
List와의 차이
List | Set |
순서 (o) | 순서 (x) |
중복 존재 | 중복 제거 |
.get (o) | .get (x) |
Set 예제
# Set
## Test02
로또 번호 추첨 문제를 Set으로 풀어보세요
## Test03
사용자에게 글 번호를 입력받아 해당하는 번호의 게시물에 좋아요를 설정/해제하는 프로그램을 구현하세요
### 요구사항
- 사용자에게 글 번호를 입력받는다
- 글 번호를 Set을 이용하여 저장하거나 삭제하도록 구현한다
- 좋아요를 누른 적이 없는 글 번호가 입력된 경우 `?번 글에 좋아요를 눌렀습니다` 출력 후 저장소에 번호를 저장한다
- 좋아요를 누른 적이 있는 글 번호가 입력된 경우 `?번 글에 좋아요를 취소했습니다` 출력 후 저장소에서 번호를 제거한다
- 0을 입력하면 프로그램을 종료하고 종료 직전까지 좋아요를 누른 모든 게시글의 번호를 오름차순으로 출력한다.
예제 풀이
'Hardcode > java' 카테고리의 다른 글
Map - HashMap (0) | 2022.08.21 |
---|---|
집합 연산 - Set, List (0) | 2022.08.21 |
Collection - ArrayList, LinkedList, TreeSet, HashSet (0) | 2022.08.21 |
Collection - List (3) | 2022.08.20 |
Scanner 클래스 next/hasNext/nextLine/hasNextLine 사용시 주의 사항 (0) | 2022.08.20 |