다양한 콜렉션의 API들설명(4_콜렉션 프레임워크와 제네릭)


확장for문을 활용할때

for(변수 : 배열)


인대 배열 및 콜렉션이 들어갈수있다.


확장 for문이 매우 빠르다고한다.


- treeSet

add시에 비교후 정렬해서 넣는다.


set 자체를 실제 프로그램에서 사용되는경우가 적다.


- 순서가 있는 콜렉션 << list >>

여기서 순서란 자신이 저장한 순서대로이다.


- ArrayList


arraylist 와 vactor 다른점 : 동기화와 동기화 하지않은점의 차이

나중에 여러군대에서 동시 접근하게될경우가 있다.

arraylist는 동기화가 안되어있다.

동기화 = 동시접근불가

vactor 동기화 되어있다.

하지만 동기화가 되어있으면 비용이 많이 든다.


arrayList는 주로 데이터를 운반할때(운송) 사용된다.


- Vector

기본적으로 크기를 주지않으면 10개로 생성된다.(기본값)

10개가 넘어가면 자동으로 늘어난다.

배수로 늘어난다.(디폴트 생성자)

늘어나는 숫자를 지정할 수 있다(객체 생성시)


for를 쓰면안된다. 동기화 처리가 되어있지않다.


- stack

스텍은 가져올때 제거하면서 가져온다.


stack 메소드를 직접 구현해보기(실기 면접)


- Generic(제네릭)

Java5에서 추가됨

Collection 객체는 저장시 원소를 Object 형으로 Up Casting 해서 관리함으로 인하여 검색시 Down Casting을 해야하는 번거로움이 발생할 수 있다.

제네릭을 사용하여(<타입>) 저장하고자 하는 데이터 타입을 미리 결정한다.

Generic 클래스 정의(25)

Generic 클래스의 필요성 : 클래스 생성시 동적으로 데이터 타입을 받기 위해(자세히 따로 알아보기)


- Queue

스텍(Stack)의 반대개념 (FIFO)

큐(Queue)구현한 대표 클래스 LinkedList

삭제할때 빠르다.

이진트리 개념으로 검색해서 빠르다.

각 원소가 쇠사슬처럼 연결되어있다.


---- 단축키

alt + shift + R : rename all

ctrl + shift + F : 자동 줄맞춤


-------- 오전 끝 ! --------


오후시작

Account 클래스로 자료구조 적용하여 변경하기


Vector는 데이터를 운반할때는 부적합하니

list나 arraylist로 변환해서 보내주는것이 좋다.


arraylist로 반환된 객체는 확장 for을 활용할 수 있다.


-- 스택구현하기

소스보기


-- map 

key , value 로 저장한다

둘다 object 형이되지만 key는 String으로 자주쓴다.

HashMap(비동기화) vs HashTable(동기화)


키가 동일하면 해당 키값의 값으로 덮어버린다.


table과 map 간에 다른 명령어가 하나 있다.

table의 경우 키목록을 가져오기위해서 keys를 쓰는대 반환형이 Enumeration이다.

elements로 값을 반환한다.









'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

7월 4주차 1일 (4주)  (0) 2015.07.27
7월 3주차 4일 (3주)  (0) 2015.07.23
7월 3주차 1일 (3주)  (0) 2015.07.20
7월 2주차 4일 (2주)  (0) 2015.07.16
7월 2주차 3일 (2주)  (0) 2015.07.15
Posted by moyaiori
,