java.util Package
Iterator<E> 반복자 Interface
📑 java api 바로가기 ▸ Iterator<E>
• Vector, ArrayList, Set 등 요소가 순서대로 저장된 컬렉션에서 요소를 순차적으로 검색할때 Iterator 인터페이스를 사용하면 편리함
✔ 주요메소드
리턴타입 | 메소드명 | 설명 |
boolean | hasNext() | 접근할 다음 요소가 있으며 true |
E | next() | 다음 요소 리턴 |
void | remove() | 마지막으로 리턴된 요소 제거 |
HashMap<K, V> Class
📑 java api 바로가기 ▸ HashMap<K,V>
• Map<K, V> interface의 구현 클래스
• 키(key)와 값(value)의 쌍으로 구성되는 요소를 다룬다
• K는 키로 사용할 데이터 타입을 V는 값으로 저장할 데이터 타입의 제네릭타입을 명시해준다.
• 데이터 저장시, key와 value를 이용하여 해시함수를 실행 해시함수가 리턴하는 위치에 키와 값을 저장하는 형태이다
• 반대로 데이터를 불러올때 키를 이용해서 꺼내오는데 키를 이용하여 동일한 해시함수를 실행하여 값이 저장된 위치를 알아내어 값을 리턴한다
• 해쉬맵은 해시함수를 통해 키와 값이 저장되는 위치를 결정하므로 사용자는 그 위치를 알 수 없고, 삽입되는 순서와 위치 또한 관계가 없다
• index가 없다. index 대신 key값으로 데이터 접근
• index를 원하는 값을 지정하는 사용자 지정 index라고 할 수도 있다.
• key값은 중복 허용이 안되므로 유일한 값이여야 한다.
✔ 장단점
- 삽입, 삭제 시간이 매우 빠르다
- 검색은 더욱 빠르다
✔ 주요메소드
리턴타입 | 메소드명 | 설명 |
V | put(K key, V value) | key와 value 쌍을 저장 |
V | get(Object key) | key에 해당하는 value 리턴, 없으면 null 리턴 |
int | size() | 요소의 개수 리턴 |
boolean | isEmpty() | 비어있으면 true |
void | clear() | 모든 요소 삭제 |
V | remove(Object key) | key에 해당하는 값을 찾아 key/value 모두 삭제 |
boolean | containsKey(Object key) | key를 포함하고 있으면 true |
boolean | cintainsValue(Object value) | value를 포함하고 있으면 true |
Set<K> | keySet() | 모든 키를 담은 Set<K> 컬렉션 리턴 |
LinkedList<E> Class
📑 java api 바로가기 ▸ LinkedList<E>
• List<E> interface 구현 클래스
• 요소들을 양방향으로 연결하여 관리한다는 점을 제외하고는 vector, ArrayList와 거의 같다.
• 맨 앞과 맨 뒤를 가르키는 head, tail 레퍼런스 가지고 있어 맨 앞이나 맨뒤, 중간에 요소 삽입이 가능하며 인덱스로 요소 접근 가능
ArrayList : 순차접근
[1|2|3]
LinkedList : 순차지만 링크를 바로 찾아감
[1]-[2] -[3]- [4]
Stack<E> Class
📑 java api 바로가기 ▸ Stack<E>
• 이름 처럼 자료가 위로 탑처럼 쌓이는 구조 (하노이의 탑)
• 제한적으로 접근할 수 있는 나열식 구조로 접근 방법은 마지막에서만 접근 가능
• LIFO(Last In First Out)
• 인터넷에서 뒤로가기 앞으로가기 이럴때 주로 씀
✔ 주요메소드
리턴타입 | 메소드명 | 타입 |
boolean | empty() | 안이 비었는지 알려줌 |
E | push(E item) | 밀어넣어준다 |
E | pop() | 맨 위에 있는거 떼서 줌 (제거됨) |
E | peek() | 제거하지 않고 위에있는것 리턴해줌 |
Set<E> Interface
📑 java api 바로가기 ▸ Set<E>
• HashSet<E> class로 구현해 놓음
• 순서가 없고 중복 요소가 없는 컬렉션으로 동일한 값 저장 불가
properties Class
📑 java api 바로가기 ▸ Properties
• HashMap의 구버전인 HashTable을 상속받아 구현한 클래스
• K, V 형태로 데이터를 저장
• 주로 어플리케이션의 환경설정과 관련된 속성을 저장하는데 사용한다
✔ 주요 메소드
리턴타입 | 메소드명 | 설명 |
String | getProperty(String key) | 키를 이용하여 값을 꺼내기 |
Object | setProperty(String key, String value) | 값저장 |
void | load(InputStream in) | 외부파일을 스트림으로 읽은것을 로드시킴 |
☑ load 메소드 사용법
FileInputStream fis = new....(외부 파일경로);
properties p = new Properties();
try{
p.load(fis);
}
'basic > java 이론' 카테고리의 다른 글
day 19~20 - Thread (0) | 2021.05.21 |
---|---|
day 19 - [입출력-java.io] File, FileOutput/FileInputStream Class, Output/InputStreamReader Class, Thread (0) | 2021.05.20 |
day17 - 제네릭 기법, [java API] Math, Calendar, Date, Collection Class / ArrayList<E>, Vector<E> Class (0) | 2021.05.17 |
day 16 - 패키지, API (0) | 2021.05.14 |
자바 문법 배운것 총정리 (0) | 2021.05.13 |