Java
java.util
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Programming
Table of Contents
java.util 패키지 #
Java의 java.util 패키지(Package)는 Java 프로그래밍에 유용한 클래스들을 모아둔 것으로 대표적인 클래스로는 날짜와 관련된 Date, Calendar 가 있으며, 자료구조와 관련된 Collection 프레임워크 관련 클래스들이 포함되어 있다.
java.util 패키지에 포함되는 클래스들 #
AbstractCollection,
AbstractList, AbstractSequentialList, LinkedList, ArrayList, Vector, Stack,
AbstractSet, HashSet, LinkedHashSet, TreeSet,
AbstractMap, HashMap, LinkedHashMap, TreeMap,
Arrays, BitSet, Calendar, GregorianCalendar,
Collection, Date, Dictionary, Hashtable, Properties,
EventObject, Locale, Observable, Random, Scanner, StringTokenizer
날짜 관련 클래스 #
자바의 대표적인 날짜 관련 클래스로는 Date와 Calandar가 사용된다. Java 초기에 생성된 Date 클래스는 지역화 기능을 지원하지 않아 국가별로 시간과 날짜가 다른 것을 표현할 수 없었으나, Calendar와 Locale 클래스가 추가되어 지역화를 지원하게 되었다.
import java.util.Date;
public class DateClass {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
// 출력결과
Fri Sep 23 08:33:03 KST 2016
Random 클래스 #
Random 클래스는 Seed값에 의한 난수를 생성해 반환하는 클래스로 정수, 실수, 부울값(true|false) 등으로 반환이 가능하다.
Random 클래스를 이용한 정수형 난수 발생 예제
import java.util.Random;
public class RandomClass {
public static void main(String[] args) {
Random random = new Random();
System.out.println(random.nextInt());
}
}
// 나수 발생 결과(실행할 때마다 새로운 값이 반환 됨)
-1212529769
ArrayList 클래스 #
배열의 기능과 가장 비슷한 클래스로 저장공간으로 배열을 사용한다. 저장 순서가 유지되고 중복이 허용된다. 기존에 사용되던 Vector 클래스를 대체하는 클래스로 비동기 방식 동작으로 Vector 가 갖고 있는 처리 속도가 개선되었다.
add() : 해당 데이터를 리스트에 추가한다. 인덱스(index) 사용으로 입력 순서를 변경할 수 있다.
contains() : 해당 데이터가 자신의 리스트에 포함되어 있는지를 확인할 수 있다.
set() : 해당 데이터 자체를 대체하거나 순서를 변경할 때 사용한다.
get() : 인덱스에 해당하는 해당 데이터를 반환한다.
remove() : 인덱스 혹은 자료에 의한 데이터를 삭제한다.
size() : 현재 리스트의 크기를 반환한다.
LinkedList 클래스 #
Queue 인터페이스를 상속받은 클래스로 ArrayList와 동일한 메소드를 가지고 있으며, 데이터 추가시 첫번째 원소와 마지막 원소에 데이터를 추가할 수 있는 addFirst(), addLast() 메소드를 가지고 있다.
peek() : 데이터를 반환한다. 복사 기능에 해당한다.
poll() : 데이터를 반환한다. 잘라내기 기능에 해당한다.
HashSet 클래스 #
집합을 구체화하기위한 Set 인터페이스를 상속받은 클래스로 자료의 중복을 허용하지 않으며, 순서가 존재하지 않는다.
add() : 데이터를 추가한다. 중복된 자료가 있는 경우 제외시킨다.
Hashtable 클래스 #
키(key)와 값(value) 쌍을 이루는 데이터 집합으로 순서를 유지하지 않는다. 값의 중복은 허용되지만 키의 중복은 허용되지 않는다. 기존의 HashMap 클래스를 데체하기 위한 클래스로 비동기 방식 동작으로 처리 속도가 개선되었다.
put(key, value) : 해당 키와 값을 저장한다.
containsKey() : 해당 키가 있는지 확인한다.
containsValue() : 해당 값이 있는지 확인한다.
keys() : 등록된 모든 키밧을 반환한다.
get() : 키에 해당하는 값을 반환한다.
Scanner 클래스 #
Scanner는 화면, 파일, 문자열과 같은 입력 소스로부터 문자 데이터를 읽어오는 데 도움을 줄 목적으로 JDK1.5부터 추가된 클래스이다. Scanner에는 다양한 생성자를 가지고 있어서 String, File, InputStream, Readable, ReadableByteChannel, Path 등의 입력 소스로부터 데이터를 읽을 수 있다.
입력받을 값의 형식에 따라 다음의 메서드들을 사용하여 입력받을 수 있다. 실제 입력된 데이터의 형식에 맞는 메서드를 사용하지 않는다면 InputMismatchException 이 발생한다.
next() : String을 읽는다. 단, 띄어쓰기 뒷부분은 읽지 않는다.
nextLine() : String을 읽는다. 띄어쓰기를 포함하여 한 줄을 읽는다.
nextInt() : int를 읽는다.
StringTokenizer 클래스 #
StringTokenizer 는 긴 문자열을 지정된 구분자를 기준으로 토큰이라는 여러 개의 문자열로 잘라내는 데 사용된다. 예를 들어 "100,200,300,400"이라는 문자열을 ',' 라는 구분자로 잘라내는 경우 "100", "200", "300", "400"의 4개의 문자열을 토큰으로 얻을 수 있다.
countTokens() : 전체 토큰의 수를 반환한다.
hasMoreTokens() : 토큰이 남아있는지 알려준다.
nextToken() : 다음 토큰을 반환한다.
생성자 | 설명 |
---|---|
StringTokenizer(String str, String delim) | 문자열 str을 구분자 delim 으로 나누는 StringTokenizer 를 생성한다. |
StringTokenizer(String str, String delim, boolean returnDelims) | 문자열 str을 구분자 delim 으로 나누는 StringTokenizer 를 생성한다. returnDelims 의 값이 true 인 경우에는 구분자도 토큰으로 간주한다. |