1. Set 컬렉션
List 컬렉션은 객체의 저장 순서를 유지한다. (인덱스 존재)
하지만 Set 컬렉션은 저장 순서가 유지되지 않는다 (인덱스가 없음)
Set 컬렉션은 수학의 집합과 비슷하며 순서와 상관이 없고 중복이 허용되지 않으며 다음과 같이 선언할 수 있다.
기본적으로 사용되는 HashSet에 대해서 알아본다.
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
|
package Set;
import java.util.*;
public class Set_exmaple {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("a");
set.add("a");
set.add("b");
set.add("c");
Iterator<String> it = set.iterator();
while(it.hasNext()) {
String ele = it.next();
System.out.println(ele);
}
//향상된 for문으로 출력
System.out.println("---------------");
set.remove("c");
it = set.iterator();
for(String ele : set) {
System.out.println(ele);
}
}
}
|
cs |
위의 Set 타입의 객체은 set 변수에 a를 두번 add했지만
중복을 허용하지 않기 때문에 아래의 출력결과를 보면 한번만 출력되는 것을 확인 할 수 있다.
Map 컬렉션
Map 컬렉션은 파이썬의 딕셔너리와 동일한 데이터 컬렉션으로 Key, Value로 구성된 객체를 저장하는 구조이다.
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
|
package HashMap;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
public class HashMap_example {
public static void main(String[] args) {
// Hash map 객체생성
Map map = new HashMap();
// Hash map 객체에 요소 추가
map.put("이름", "홍길동");
map.put("나이", 15);
map.put("이메일", "hong@naver.com");
System.out.println(map.size());
//Map 객체에 접근 - How to Accesse the Map object's value
System.out.println(map.get("이름"));
System.out.println("----------map객체 전체출력---------");
Set keys = map.keySet(); // map의 key만 set 데이터타입으로 추출
System.out.println(keys);
Iterator iter = keys.iterator();
while(iter.hasNext()) {
String k = (String) iter.next();
System.out.printf("키 :" +k +"\t\t");
System.out.println("값:" + map.get(k));
}
}
}
|
cs |
'Java' 카테고리의 다른 글
[Java] - Java에서 Maria DB연동하기 (0) | 2020.09.29 |
---|---|
[Java] - HashMap과 List를 같이 사용하기 (0) | 2020.09.28 |
[Java] - iterator(반복자) : 인덱스로 접근할 수 없을 때 사용 (0) | 2020.09.28 |
[Java] - 객체비교 (eqauls)에 대해서 (0) | 2020.09.28 |
[Java] - ArrayList 객체와 데이터 클래스 객체 연계사용 - 메소드 체이닝(Method Chaining)을 위한 제네릭(Generic)선언 (0) | 2020.09.28 |