Set
set은 중복이 없고, 순서도 없는 자료구조. Hashset과 TreeSet이 있다.
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetExam {
public static void main(String[] args) {
Set<String> set1 = new HashSet<>();
boolean flag1 = set1.add("kim");
boolean flag2 = set1.add("lee");
boolean flag3 = set1.add("kim");
System.out.println(set1.size()); //저장된 크기를 출력합니다. 3개를 저장하였지만, 이미 같은 값이 있었기 때문에 2개가 출력
System.out.println(flag1); //true
System.out.println(flag2); //true
System.out.println(flag3); //false
Iterator<String> iter = set1.iterator();
while (iter.hasNext()) { // 꺼낼 것이 있다면 true 리턴.
String str = iter.next(); // next()메소드는 하나를 꺼낸다. 하나를 꺼내면 자동으로 다음것을 참조한다.
System.out.println(str);
}
}
}
List
List는 배열과 비슷하다. 둘의 가장 큰 차이점은 배열은 한번 생성하면 크기 변경이 불가하지만, 리스트는 저장공간이 필요에 따라 자동으로 늘어날 수 있다는 것이다.
List는 데이터의 중복이 있을 수 있고, 순서도 있다.
import java.util.ArrayList;
import java.util.List;
public class ListExam {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
// list에 3개의 문자열을 저장합니다.
list.add("kim");
list.add("lee");
list.add("kim");
System.out.println(list.size()); //list에 저장된 자료의 수를 출력 (중복을 허용하므로 3 출력)
for(int i = 0; i < list.size(); i++){
String str = list.get(i);
System.out.println(str);
}
}
}
Map
Map은 key와 value를 쌍으로 저장하는 자료구조 키는 중복될 수 없고, 값은 중복될 수 있다.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapExam {
public static void main(String[] args) {
// Key, Value가 모두 String 타입인 HashMap인스턴스를 만듭니다.
Map<String, String> map = new HashMap<>();
// key와 value값을 put으로 저장합니다.
map.put("001", "kim");
map.put("002", "lee");
map.put("003", "choi");
// 같은 key가 2개 있을 수 없습니다. 첫번째로 저장했던 001, kim은 001, kang으로 바뀐다.
map.put("001", "kang");
// map에 저장된 자료의 수를 추력합니다. 3이 출력됩니다.
System.out.println(map.size());
// 키가 001, 002, 003인 값을 꺼내 출력합니다.
System.out.println(map.get("001"));
System.out.println(map.get("002"));
System.out.println(map.get("003"));
// map에 저장된 모든 key들을 Set자료구조로 꺼냅니다.
Set<String> keys = map.keySet();
// Set자료구조에 있는 모든 key를 꺼내기 위하여 Iterator를 구합니다.
Iterator<String> iter = keys.iterator();
while (iter.hasNext()) {
// key를 꺼냅니다.
String key = iter.next();
// key에 해당하는 value를 꺼냅니다.
String value = map.get(key);
// key와 value를 출력합니다.
System.out.println(key + " : " + value);
}
}
}
https://school.programmers.co.kr/learn/courses/9
자바 중급
평가 5.0 22개의 평가 ★★★★★22 ★★★★0 ★★★0 ★★0 ★0 Hoon 2022.09.13 12:59 황현준 2022.07.30 19:05 김보성 2022.03.27 11:12 YongHoonLee 2022.02.06 21:44 손창우 2022.01.19 23:25 리뷰 더보기
school.programmers.co.kr
반응형
'Programming language > Java' 카테고리의 다른 글
Collection (0) | 2024.03.17 |
---|---|
[JAVA] 어노테이션(Annotation) (0) | 2022.09.16 |
[JAVA] Collection Framework (0) | 2022.09.16 |
[JAVA] java.lang 패키지/오토박싱 (0) | 2022.09.14 |
[JAVA] Object와 오버라이딩 (0) | 2022.09.14 |