JAVA Collection Set

Walter Mitty·2022년 5월 19일
0

JAVA

목록 보기
15/21

Set

set 살펴보기

Set<integer> integerSet = new HashSet<>();
integerSet.add(1);
integerSet.add(1);
integerSet.add(3);
integerSet.add(2);
integerSet.add(9);
integerSet.add(8);

System.out.println(integerSet);

[1, 2, 3, 8, 9]

순서 유지 안됨, 중복 안됨!


숫자가 아니라 문자라면?

Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York);
stringSet.add("LasVegas");
stringSet.add("San Francisco");
stringSet.add("Seoul);

System.out.println(stringSet);

[San Francisco, New York, LasVegas, LA, Seoul]


하나 지우기

Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York);
stringSet.add("LasVegas");
stringSet.add("San Francisco");
stringSet.add("Seoul);

System.out.println(stringSet);

stringSet.remove("Seoul");
//순서가 없어서 index를 줄 수 없다!
System.out.println(stringSet);

[San Francisco, New York, LasVegas, LA]


여러개 지울 때

Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York);
stringSet.add("LasVegas");
stringSet.add("San Francisco");
stringSet.add("Seoul);

System.out.println(stringSet);

List<String> target = new ArrayList<>();
target.add("New York");
target.add("LasVegas");
stringSet.removeAll(target);
//()안에는 Collection을 받도록 되어있는데, set이나 다른게 아니어도 collection type은 뭐든 올 수 있다.
//그래서 target도 List type 이지만 올 수 있는 것!
System.out.println(stringSet);

[San Francisco, LA]


어떤 element가 있는지 확인 할 때 .contains()

Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York);
stringSet.add("LasVegas");
stringSet.add("San Francisco");
stringSet.add("Seoul);

System.out.println(stringSet);

List<String> target = new ArrayList<>();
target.add("New York");
target.add("LasVegas");
stringSet.removeAll(target);
System.out.println(stringSet);

System.out.println("LA 포함되어 있나요? " + stringSet.contains("LA"));
System.out.println("Seoul 포함되어 있나요? " + stringSet.contains("Seoul"));

LA 포함되어 있나요? true
Seoul 포함되어 있나요? false

.contains는 () 안에 넣어준 데이터가 이 자료구조에 있는지 확인해서 boolean으로 값을 리턴하는 함수다.


자료구조를 다 지우고 싶을 떄 .clear

Set<String> stringSet = new HashSet<>();
stringSet.add("LA");
stringSet.add("New York);
stringSet.add("LasVegas");
stringSet.add("San Francisco");
stringSet.add("Seoul);

System.out.println(stringSet);

List<String> target = new ArrayList<>();
target.add("New York");
target.add("LasVegas");
stringSet.removeAll(target);
System.out.println(stringSet);

System.out.println("LA 포함되어 있나요? " + stringSet.contains("LA"));
System.out.println("Seoul 포함되어 있나요? " + stringSet.contains("Seoul"));

stringSet.clear();
System.out.println(stringSet);

[ ]

0개의 댓글