2013년 4월 30일 화요일
2013년 4월 29일 월요일
The Collection Framework
Collection (컬랙션)
□ Collection (컬랙션)의 의미는 객체들의 집합을 말함. 자바에서 Collection Framework를 지원하는 이유는 프로그래머가 자료구조에 대해 신경 쓰지 않고 프로그램을 쉽게 작성하고 성능을 향상시킬 수 있도록 하기 위해 사용. Collection Interface를 상속한 Set, list를 컬랙션이라고 말하지만 Map도 알아보지만 Map interface를 구현한 클래스들은 key(키)와 value(값)으로 객체를 다루기 때문에 진정한 컬랙션은 아님
내 용
|
아이템 중복 가능 여부
| |
Set
|
정렬순서 없음, 아이템 중복 불가능.
|
X
|
List
|
인덱스로 정렬, 아이템 중복 가능
|
O
|
Map
|
중복 불가능한 키로 정렬 된다.
|
O
|
Set(집합)
□ Set interface는 요소들의 순서가 정렬되어 있지 않으며, 중복된 요소를 포함할 수 없는 컬랙션
클래스
|
특 징
|
HashSet
|
집합의 요소들은 정렬되지 않는다. 동기화 처리가 되어 있지 않다.
|
LinkedHashSet
|
집합의 요소들은 추가된 순서대로 정렬된다(insertion order). 동기화 처리가 되어 있지 않다.
|
TreeSet
|
SortedSet interface로 구현된다. 집합의 요소들이 오름차순으로 정렬됨.(ascending order, natural order). 동기화 처리가 되어 있지 않다.
|
메소드명
|
매개변수
|
기 능
|
add()
|
Object o
|
지정된 요소가 집합에 존재하지 않는다면 추가
|
clear()
|
-
|
집합에 있는 모든 요소를 제거
|
contains()
|
Object o
|
집합에 지정된 요소가 있다면 true를 리턴
|
equals()
|
Object o
|
지정된 객체가 이 집합과 동일한지를 비교
|
isEmpty()
|
-
|
집합에 어떤 요소도 추가되어 있지 않다면 true를 리턴
|
remove()
|
Object o
|
지정된 요소가 존재한다면 제거
|
size()
|
-
|
집합의 요소의 수를 리턴
|
toArray()
|
-
|
집합에 있는 모든 요소를 배열로 리턴
|
List
□ List interface는 중복된 요소를 포함할 수 있으며, 요소들이 추가된 순서대로 정렬되는 컬래션
클래스
|
특 징
|
ArrayList
|
크기가 동적으로 늘어날 수 있는 배열. 인덱스로 정렬됨 (index order). null을 포함한 모든 요소를 허락. 동기화 처리가 되어 있지 않음
|
Vector
|
크기가 동적으로 늘어날 수 있는 배열. 인덱스로 정렬(index order), 배열처럼 인덱스를 통해 요소에 접근. 동기화 처리가 되어 있음
|
LinkedList
|
링크드 리스트를 구현하기 위한 클래스. 인덱스로 정렬(index order), null을 포함한 모든 요소를 허락. 동기화 처리가 되어 있지 않음
|
메소드 명
|
매개변수
|
기 능
|
add()
|
int index,
Object element
|
지정된 요소를 지정된 위치에 추가
|
add()
|
Object o
|
지정된 요로를 리스트의 끝에 추가
|
clear()
|
-
|
리스트의 모든 요소를 제거
|
contains()
|
Object o
|
지정된 요소를 포함하고 있다면 true를 리턴
|
equals()
|
Object o
|
지정된 요소와 리스크가 동일한지를 비교
|
get()
|
int index
|
리스트에서 지정된 위치의 요소를 리턴
|
isEmpty()
|
-
|
리스트가 어떤 요소도 포함하고 있지 않으면 true를 리턴
|
remove()
|
int index
|
리스트의 지정된 위치의 요소를 제거
|
size()
|
-
|
리스트에서 요소의 수를 리턴
|
Map
□ Map interface는 key로 value를 매칭시키며 중복된 키를 포함할 수 없도록 디자인되어 있는 컬랙션
※ SortedMap 인터페이스도 Map 인터페이스에서 상속
내 용
| |
HashMap
|
키와 아이템 null 불가. 정렬 X. 동기화 X
|
TreeMap
|
키가 오름차순으로 정렬. 동기화 X
|
LinkedHashMap
|
키가 추가된 순서로 정렬. 키와 아이템 null 가능. 동기화 X
|
WeekHashMap
|
정렬 X, 키와 아이템 null 가능. 동기화 X
|
Hashtable
|
정렬 X 키와 아이템 null 불가. 동기화 X
|
메소드명
|
매개변수
|
기능
|
clear()
|
-
|
맵의 모든 키와 요소를 제거
|
containsKey()
|
Object key
|
맵이 지정된 키를 가지고 있다면 true를 리턴
|
containsValue()
|
Object value
|
맵이 지정된 값과 관련된 키들을 가지고 있다면 true를 리턴
|
equals()
|
Object o
|
지정된 요소와 맵이 동일한지를 비교
|
get()
|
Object key
|
맵에서 지정된 키에 대한 요소를 리턴
|
isEmpty()
|
-
|
이 맵이 키와 요소를 가지고 있지 않다면 true를 리턴
|
put()
|
Object key,
Object value
|
지정된 키와 값을 추가
|
remove()
|
Object key
|
키와 관련된 요소를 제거
|
size()
|
-
|
맵에서 키/요소 쌍의 수를 리턴
|
Hashcode
□ 메모리에 실행된 객체의 주소를 빠르게 효율적으로 찾기 위해 사용되느 코드로써 자바가상머신의 hash함수에 의해 생성
□ Hashcode의 제약사항
① 프로그램이 시작되는 동안 같은 객체상에서 hashcode() 메소드가 여러번 호출되어도 항상 같은 값을 반환
② a.equals(b)가 true라면 a.hashcode() == b.hashcode()는 true가 된다.
③ a.equals(b)가 false라면 a.hashcode() == b.hashcode()는 false가 되어야 하지만 강제하지 않는다. true가 될 수 도 있음
④ hashcode는 객체를 가리키기 위한 일련의 숫자의 조합이기 때문에 프로그램이 실행된 이후에는 항상 같은 값을 반환
피드 구독하기:
덧글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
프루나는 이제 믿을만한 공유가 안되고 있다. 젠장. 영화 다운 받아보면 전부 야동이나 포르노류 밖에는 없다. 신고되어 있는 자료부터 보지만 신고가 안되어 있는 것은 제대로 다운도 되지 않는다. 이젠 유료 사이트를 믿을 수 밖엔... ...
-
Intel의 새로운 MMX - "KNI" KNI 는 Katmai New Instruction 의 약자이다 . 아는 분들은 잘 알고있겠지만 KATMAI( 이하 카트마이로 부름 ) 는 인텔의 다음번 펜티엄...
-
C:\program files\ 베이비론 폴더가 있다. 브라우저 창 다닫고 지우고 다시 실행하면 없어진다.