728x90
컬렉션 프레임워크
컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것입니다.
컬렉션 프레임워크 주요 인터페이스
컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있습니다.
- List 인터페이스
- Set 인터페이스
- Map 인터페이스
List
List 특징
- 요소의 저장 순서가 유지됩니다.
- 같은 요소의 중복 저장을 허용합니다.
- 크기를 지정하지 않아도 선언 가능합니다.
- toString 오버라이딩이 가능합니다.
- 다양한 메서드가 제공됩니다.
List 종류
- ArrayList
- LinkedList
- Vector
- Stack
- Queue
List 실습
package class01;
import java.util.ArrayList;
public class Test01 {
public static void main(String[] args) {
ArrayList<Integer> data = new ArrayList<>();
data.add(10);
data.add(0, 20); // 해당 배열 인덱스 번호에 값 삽입
data.add(0, 30);
data.add(20);
data.add(30);
data.add(40);
data.add(50);
data.add(60);
data.add(70);
data.add(80);
data.add(90);
data.add("사과"); // 오류
data.clear(); // 배열 초기화
data.add(100);
System.out.println(data.isEmpty()); // 배열이 비어있는지 확인 true / false
System.out.println(data);
System.out.println(data.get(0)); // 해당 배열 인덱스 번호 값 출력
data.remove(0); // 해당 배열 인덱스 번호 값 제거
System.out.println(data.size()); // 해당 배열 크기 출력
}
}
Set
Set 특징
- 요소의 저장 순서를 유지하지 않습니다.
- 같은 요소의 중복 저장을 허용하지 않습니다.
- 다양한 타입을 저장할 수 있습니다.
Set 종류
- HashSet
- TreeSet
Set 실습
package class02;
import java.util.HashSet;
import java.util.Set;
public class Test01 {
public static void main(String[] args) {
// 추상클래스 Set
// Set류의 부모클래스
// Set data = new HashSet();
HashSet<Integer> data = new HashSet<Integer>();
// 집합(Set)
// 1. 순서가 없음(index XXX)
// 2. 중복 허용 xxx
// 3. 다양한 자료형 저장 가능
// -> but, 이렇게 사용하지않음!!!!
// -> 제네릭 <> 함께사용
data.add(10);
data.add(10);
data.add(10);
data.add(1234);
data.add(1);
data.add(2);
data.add(12);
data.add(13);
data.add(11);
// data.add("apple");
System.out.println(data);
System.out.println(data.size());
}
}
Map
Map 특징
- 요소의 저장 순서를 유지하지 않습니다.
- 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용합니다.
- 키는 중복을 허용하지 않지만, 값의 중복은 허용합니다.
Map 종류
- HashMap
- Hashtable
- TreeMap
GitHub
https://github.com/Qkrwnsgus0522/Java
728x90