컬렉션, 제너릭
컬렉션 : 자료구조 데이터를 저장하는 방식
- 배열은 순차적으로 저장, 중복된 데이터를 저장할 수 있다.
Set 컬렉션 클래스 : 순서가 없다. 중복된 데이터 허용X
1. HashSet
- 요소를 순서에 상관없이 저장, 중복된 값은 저장X
HashSet<String> hs01 = new HashSet<String>();
HashSet<String> hs02 = new HashSet<String>();
2. TreeSet 컬렉션 클래스
- 요소를 순서에 상관없이 저장, 중복된 값 저장 X, 작은값부터 순서대로 정렬함
TreeSet<Integer> ts = new TreeSet<Integer>();
ts.add(30);
ts.add(40);
Set 메소드
add() 메소드 : 객체에 요소를 저장
// add() 메소드를 이용한 요소의 저장
hs01.add("홍길동");
hs01.add("이순신");
System.out.println(hs01.add("임꺽정"));
System.out.println(hs01.add("임꺽정")); // 중복된 요소의 저장
size() 메소드 : 요소의 개수를 리턴
hs02.add("임꺽정");
hs02.add("홍길동");
hs02.add("이순신");
System.out.println(hs02.size()); //3
List 컬렉션 클래스 : 순서가 있다. 중복된 데이터 허용
ArrayList 클래스
- 배열을 이용한 요소 저장, 순서 저장됨, 중복된 값도 저장됨
ArrayList<Integer> arrList = new ArrayList<Integer>();
메소드
add() 메소드 : 객체에 요소를 저장
lnkList.add("넷");
lnkList.add("둘");
// add() 메소드를 이용한 요소의 저장
get() 메소드 : 요소의 출력
// for 문과 get() 메소드를 이용한 요소의 출력
for (int i = 0; i < lnkList.size(); i++) {
System.out.print(lnkList.get(i) + " ");
} // 넷 둘
Map 컬렉션 클래스 : 키와 값 한쌍으로 저장, 키는 중복X
- 키와 값을 하나의 쌍으로 저장함(key-value 방식)
- key란 value를 찾기 위한 이름의 역할
- 키(key) : 컬렉션 내의 키 중에서 유일해야 한다
- 값(value) - 키와 달리 데이터의 중복을 허용한다.
HashMap<K, V> 클래스
HashMap<String, Integer> hm = new HashMap<String, Integer>();
메소드
put() 메소드 : 요소의 저장
hm.put("삼십", 30);
hm.put("십", 10);
hm.put("사십", 40);
hm.put("이십", 20);
remove() 메소드 : 요소의 제거
hm.remove("사십");
keySet(), get() 메소드
- keySet() : map의 key값을 모아서 Set형태로 반환
- get() : 파라미터로 key값을 전달시, 해당 key의 value를 리턴
public Set<K> keySet() //map의 key값을 모아서 Set형태로 반환
public V get(Object key) // 파라미터로 key값을 전달시, 해당 key의 value를 리턴
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class HashMapPrint {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
// for loop (keySet())
Set<Integer> keySet = map.keySet(); //먼저 map.keySet() 메소드를 호출하여, key 목록을 Set 형태로 가지고 왔습니다
for (Integer key : keySet) {
System.out.println(key + " : " + map.get(key));
} //1 : Apple
} //2 : Banana
} //3 : Orange
containsKey() 메소드 : map에 파라미터로 입력받은 값과 같은 값이 있으면 true를 리턴합니다.
import java.util.HashMap;
import java.util.Map;
public class CheckExistHashMap {
public static void main(String[] args) {
// HashMap 준비
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "Apple");
map.put(2, "Banana");
map.put(3, "Orange");
map.put(null, "Tomato");
// 특정 key값 존재여부 체크 (containsKey())
System.out.println(map.containsKey(1)); // true
System.out.println(map.containsKey(5)); // false
System.out.println(map.containsKey(null)); // true
}
}
반응형