
순서가 필요없는 데이터를 hash table에 저장 한다.
Set 중에 가장 성능이 좋다.
기본 예제
package collection.set;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;
public class Set01 {
public static void main(String[] args) {
// 자료구조(자재)
//2.Set
//1)객체 생성
Set set1 = new HashSet();
Set set2 = new TreeSet();
Set set3 = new LinkedHashSet();
//2)제네릭스를 이용한 객체 생성
Set<String> set4 = new HashSet<String>();
Set<String> set5 = new TreeSet<String>();
Set<String> set6 = new LinkedHashSet<String>();
}
}
package com.java.datastruct01.collection.set;
import java.util.HashSet;
import java.util.Set;
public class Set03 {
public static void main(String[] args) {
// Set 객체생성
// 1.객체 생성
Set<String> set = new HashSet<>();
// 2.데이터 추가 (a,b,c,d)
set.add("a");
set.add("b");
set.add("c");
set.add("d");
// 3.데이터 수정
// 그런거 없음 :중복을 허용하지 않기 때문
// 중복된 값을 수정 할 수 있기 때문
// 4.데이터 삭제
set.remove("a");
set.remove("b");
set.add("a");
// 5.데이터 포함 여부
boolean b1 = set.contains("a");
if (b1)
System.out.println("a의 값은 포함 되어 있습니다.");
else
System.out.println("a의 값은 포함 되어 있지 않습니다.");
}
}
package com.java.datastruct01.collection.set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Set02 {
public static void main(String[] args) {
// Collection > SET(집합,순서 없고, 중복 못함) > 기본 메서드
Set<String> set = new HashSet<>();
System.out.println("객체정보" + set); // []
// 2.데이터 추가 (a,b,c,d)
set.add("a");
set.add("b");
set.add("c");
set.add("d");
System.out.println("객체정보" + set);
set.add("a");
System.out.println("객체정보" + set);
// 3.데이터 출력
// 3.1 for 문을 이용해서 출력(index 이용)
Object[] arr = set.toArray();
for (int i = 0; i < arr.length; i++) {
String st = (String) (arr[i]);
System.out.print(st + " ");
}
System.out.println();
// String 생성자를 통한 문자열 배열 생성
String[] arr2 = new String[set.size()];
for (int i = 0; i < arr2.length; i++) {
String[] st = set.toArray(arr2);
System.out.print(st[i] + " ");
}
System.out.println();
// String [] arr2 = new String[set.size()];
for (int i = 0; i < arr2.length; i++) {
String[] st = set.toArray(new String[set.size()]);
System.out.print(st[i] + " ");
}
System.out.println();
for (int i = 0; i < arr2.length; i++) {
// String [] st =set.toArray(new String[set.size()]);
System.out.print((String) (set.toArray(arr2))[i]);
}
System.out.println();
// 3.2 enhanced for
for (String data : set)
System.out.println(data);
System.out.println();
// 3.3 iterator
Iterator<String> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
System.out.println();
// 3.4 forEach
set.forEach(in -> System.out.println(in));
System.out.println();
set.forEach(System.out::print);
}
}