<E>
<E>
Set<타입> 변수값 = new Set<타입>();
<E>
Set<데이터타입> 객체명 = new HashSet<데이터타입>();
HashSet<String> set = new HashSet<>();
set.add("김윤석");
set.add("류승룡");
set.add("김윤석");
System.out.println(set);
// 출력값 [김윤석, 류승룡]
System.out.println(set.isEmpty); // false
HashSet<E>
의 부모인터페이스인 set<E>
에 존재하는 정적메서드.Set<String> names = set.of("값1", "값2", "값3")
// names라는 배열에 값1, 값2, 값3이 저장됨(순서 임의)
add All(Collection<? extends E> collection)
: 다른 Collection구현객체에 저장된 데이터를 전부 저장함.System.out.println(set.contains("김윤석")); // true
System.out.println(set.contains("송강호")); // false
add.remove("류승룡");
System.out.println(set);
// 출력값 [김윤석]
<E>
<E>
<E>
List<데이터타입> 객체명 = new ArrayList<>();
List<String> fruits = new ArrayList<>();
fruits.add("딸기");
fruits.add("사과");
fruits.add("복숭아");
fruits.add("사과");
System.out.println(fruits);
// 출력값 [딸기, 사과, 복숭아, 사과]
System.out.println(fruits.size());
// 출력값 4
System.out.println(fruits.isEmpty());
// 출력값 false
System.out.println(fruits.contains("고구마"));
// 출력값 false
System.out.println(fruits.contains("복숭아"));
// 출력값 true
fruits.remove("사과")
System.out.println(fruits);
// 출력값 [딸기, 복숭아, 사과]
fruits.clear();
System.out.println(fruits);
// 출력값 []
List<String> food = new ArrayList<>();
food.add("김치");
food.add("마라탕");
food.add("초밥");
System.out.println(food);
// 출력값 [김치, 마라탕, 초밥]
food.add(1, "피자")
System.out.println(food);
// 출력값 [김치, 피자, 마라탕, 초밥]
food.set(1, "순대국");
System.out.println(food);
// 출력값 [김치, 순대국, 마라탕, 초밥]
String a = food.get(2)
System.out.println(a);
// 출력값 마라탕
<E>
와의 비교LinkedList<E>
를 사용하면 메모리 부하가 적어짐<E>
Iterater<타입> 변수명 = 배열명.iterator();
List a = new ArrayList();
Iterator b = a.iterator();
while(b.hasNext()){ // 다음요소가 있을 시 true를 반환하므로 배열의 끝까지 검사 가능
System.out.println(b.next()); // 순차적으로 a.iterator()의 값 출력
}