컬렉션 프레임워크(Collection Framework)
1. 컬렉션 프레임워크(Collection Framework)
2. List 인터페이스
- 순서가 있는 데이터의 집합
- 데이터 중복 허용
- 대표 구현 클래스
- ArrayList
- LinkedList
- Vector
1
2
3
ArrayList list1 = new ArrayList();
LinkedList list2 = new LinkedList();
Vector v = new Vector();
(실습1 : List)
- 추가 ArrayList와 LinkedList의 차이
- ArrayLists는 삭제 및 추가 시, 인덱스를 활용하여 추가 및 삭제가 가능
- 반면 LinkedList는 인덱스 사용 불가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Java 프로그래밍 - 컬렉션 프레임워크
import java.util.*;
public class Main {
public static void main(String[] args) {
// 1. List
// 1-1. ArrayList
ArrayList list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
System.out.println("list1 = " + list1);
list1.remove(Integer.valueOf(2));
System.out.println("list1 = " + list1);
list1.add(0, 10); //인덱스를 이용한 값 추
System.out.println("list1 = " + list1);
System.out.println("list1.size() = " + list1.size());
System.out.println("list1.contains(1) = " + list1.contains(1));
System.out.println("list1.indexOf(10) = " + list1.indexOf(10));
// 1-2. LinkedList
System.out.println("== LinkedList ==");
LinkedList list2 = new LinkedList();
list2.add(1);
list2.add(2);
list2.add(3);
System.out.println("list2 = " + list2);
list2.addFirst(10);
list2.addLast(20);
System.out.println("list2 = " + list2);
list2.remove(Integer.valueOf(1));
System.out.println("list2 = " + list2);
list2.removeFirst();
list2.removeLast();
System.out.println("list2 = " + list2);
System.out.println("list2.size() = " + list2.size());
}
}
3. Set 인터페이스
- 순서가 없는 데이터의 집합
- 데이터의 중복 허용이 되지 않음
- 대표 구현 클래스
- HashSet
- TreeSet
1
2
HashSet set1 = new HashSet();
TreeSet set2 = new TreeSet();
(실습2 : Set)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Java 프로그래밍 - 컬렉션 프레임워크
import java.util.*;
public class Main {
public static void main(String[] args) {
// 2. Set
// 2-1. HashSet
System.out.println("== HashSet ==");
HashSet set1 = new HashSet();
set1.add(1);
set1.add(2);
set1.add(3);
System.out.println("set1 = " + set1);
set1.remove(1);
System.out.println("set1 = " + set1);
set1.add(2);
set1.add(3);
System.out.println("set1 = " + set1);
System.out.println("set1.size() = " + set1.size());
System.out.println("set1.contains(2) = " + set1.contains(2));
// 2-2. TreeSet
System.out.println("== TreeSet ==");
TreeSet set2 = new TreeSet();
set2.add(1);
set2.add(2);
set2.add(3);
System.out.println("set2 = " + set2);
set2.remove(2);
System.out.println("set2 = " + set2);
set2.clear();
System.out.println("set2 = " + set2);
set2.add(10);
set2.add(5);
set2.add(15);
set2.add(15);
System.out.println("set2 = " + set2);
System.out.println("set2.first() = " + set2.first());
System.out.println("set2.last() = " + set2.last());
System.out.println("set2.lower(10) = " + set2.lower(10));
System.out.println("set2.higher(10) = " + set2.higher(10));
}
}
4. Map 인터페이스
- 키와 값의 쌍으로 이루어진 데이터 집합
- 순서를 유지 하지 않음
- 대표 구현 클래스
- HashMap
- TreeMap
1
2
HashMap map1 = new HashMap();
TreeMap map2 = new TreeMap();
(실습3:Map)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Java 프로그래밍 - 컬렉션 프레임워크
import java.util.*;
public class Main {
public static void main(String[] args) {
// 3. Map
// 3-1. HashMap
System.out.println("== HashMap ==");
HashMap map1 = new HashMap();
map1.put(1, "kiwi");
map1.put(2, "apple");
map1.put(3, "mango");
System.out.println("map1 = " + map1);
map1.remove(2);
System.out.println("map1 = " + map1);
System.out.println("map1.get(1) = " + map1.get(1));
// 3-2. TreeMap
System.out.println("== TreeMap ==");
TreeMap map2 = new TreeMap();
map2.put(10, "kiwi");
map2.put(5, "apple");
map2.put(15, "mango");
System.out.println("map2 = " + map2);
System.out.println("map2.firstEntry() = " + map2.firstEntry());
System.out.println("map2.firstKey() = " + map2.firstKey());
System.out.println("map2.lastEntry() = " + map2.lastEntry());
System.out.println("map2.lastKey() = " + map2.lastKey());
System.out.println("map2.lowerEntry(10) = " + map2.lowerEntry(10));
System.out.println("map2.higherEntry(10) = " + map2.higherEntry(10));
}
}
This post is licensed under CC BY 4.0 by the author.