Skip to content

Java java.util #

Find similar titles

3회 업데이트 됨.

Edit
  • 최초 작성자
    yang4851
  • 최근 업데이트
    jhkim

Structured data

Category
Programming

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 인 경우에는 구분자도 토큰으로 간주한다.
0.0.1_20231010_1_v71