BigData 청년인재 프로그램(Java) - 14. 컬렉션 프레임워크

14. 컬렉션 프레임워크

6/30(금)Day05
-Collection을 사용하는이유?
1.동일자료형의 묶음(배열과 공통점)
2. 메모리 크기 변경가능 (배열은 메모리 크기 변경불가) 
3. 참조값만 변경하여 데이터 추가삭제가 쉬움 (배열은 모든 value의 index값을 변경해야함)
-동일자료형의 집합이므로 !정렬!을 위하 Interface가 존재
-정렬은 Anonymous Class객체를 생성하여 사용한다.(항상 인터페이스를 상속받는것 비효율적)
-정렬을 위해서 equals()과 hashcode()메소드 Override필요(값을 비교해야하기때문)

<1. 컬렉션 프레임워크 소개>
1.1 컬렉션은 여러 객체 원소의 삽입/삭제를 지원하는 인터페이스
1.2 Set, List, Queue로 분류
1.3 Set은 중복허용x List와 Queue는 중복허용o, Map은 <Key,Value>를 원소로 인식

<2. List 컬렉션>
-순차적으로 나열된 원소처리
-메서드 : add(index, element), get(i), isEmpty(), size(), 
2.1 ArrayList : 배열로 처리(원소 index로 접근)
2.2 LinkedList : 배열을 객체로 저장(원소 next 참조값으로 접근)
2.3 Vector : 예전부터 존재하는 List??

<3. Set 컬렉션>
-집합개념, 중복허용x, 순서개념x, index개념x
-메서드 : add(element), contains(element), isEmpty(), size(), Iterator<E> iterator()

<4. Map 컬렉션>
-Key, Value쌍으로 저장, key는 중복x, value는 중복o
-메서드 : put(key, value), get(key), isEmpty(), size(),
#Set<K> keySet() : 모든 key를 Set객체에 담아서 리턴
#Set<Map.Entry<K,V>> entrySet() : 모든 Map.Entry(키와 값) 객체를 Set객체에 담아서 리턴

<5. 제네릭>
-< >안에 담긴것, 자료형을 고정하여 타입을 강하게 체크
iterator사용 // 원소가 Vehicle객체
Iterator<Vehicle> it = list.iterator();
while (it.hasNext()) {
Vehicle v = it.next();
if (v instanceof Car) {
Car c = (Car) v;// Vehicle -> Car로 강제형변환
System.out.println(c.getNum() + c.getColor() + c.getDoor());
}
System.out.println(v.getNum() + v.getColor());// door자료 없음

}
iterator와 KeySet객체 사용 //원소가 KeySet객체 
Iterator<Integer> it = map.keySet().iterator();
while (it.hasNext()) {
Integer i =it.next();
System.out.println(map.get(i));
}

iterator와 Entry객체 사용 //원소가 Entry<Integer, Sring>객체 
Iterator<Map.Entry<Integer, String>> it2 = map.entrySet().iterator();
while (it2.hasNext()) {
Map.Entry<Integer, String> entry = it2.next();
System.out.println(entry.getValue());
}



댓글

이 블로그의 인기 게시물

1장_1절 관계형 데이터베이스 개요

1장_2절 DDL(Data Definition Language : 데이터 정의어)

1장_5절. Where 조건절