util

유용한 클래스들을 모아둔 패키지

Objects

- 객체비교, 해시코드생성, null체크, 객체문자열 리턴 등의 연산을 수행하는 정적메서드들로 구성된 object의 유틸리티 클래스

 

리턴 타입

메서드

설명

int

compare(T a, T b, Comparator<? super T> c)

두 객체 a와 b를 Comparator를 사용해서 비교

boolean

deepEquals(Object a, Object b)

두 객체의 깊은 비교(배열 항목까지 비교)

boolean

equals(Object a, Object b)

두 객체이 얕은 비교(번지만 비교)

int

hash(Object... values)

매개변수 값이 저장된 배열의 해시 코드 출력

int

hashCode(Object o)

객체의 해시코드 출력

 

boolean

isNull(Object obj)

객체가 null인지 조사

boolean

nonNull(Object obj)

객체가 null이 아닌지 조사

T

requireNonNull(T obj)

객체가 null인 경우 예외 발생

T

requireNonNull(T obj, String message)

객체가 null인 경우 예외 발생(주어진 예외 메시지 포함)

T

requireNonNull(T obj, Supplier<String> messageSupplier)

객체가 null인 경우 예외 발생(람다식이 만든 예외 메시지 포함)

 

String

toString(Object o)

객체의 toString() 리턴값 리턴

String

toString(Object o, String nullDefault)

객체의 toString() 리턴값 리턴, 첫번째 매개변수가 null일 경우 두번째 매개변수값 리턴




Date

- 자바 초창기에 단순히 시간과 날짜를 사용할때 

- 지역화를 제공하지 않아 대다수의 메서드가 Deprecated 됨

Calandar

- Date는 국가별로 시간과 날짜가 다른것을 표현할 수 없었으나

- Calandar와 Lacale 클래스가 추가되어 지역화를 지원하게 됐다.

Random

Random r = new Random();

        System.out.println(r.nextInt());

StringToKenizer

- 문자열 단위로 분리해주는 클래스 ( 복잡한 문자열 구분 처리)

split()

ArrayList

- 저장순서가 유지되고 중복 허용

add() : 해당 데이터를 리스트에 추가한다. 인덱스(index) 사용으로 입력 순서를 변경할 수 있다. 

contains() : 해당 데이터가 자신의 리스트에 포함되어 있는지를 확인할 수 있다. 

set() : 해당 데이터 자체를 대체하거나 순서를 변경할 때 사용한다. 

get() : 인덱스에 해당하는 해당 데이터를 반환한다. 

remove() : 인덱스 혹은 자료에 의한 데이터를 삭제한다. 

size() : 현재 리스트의 크기를 반환한다.

LinkedList

- Queue 인터페이스를 상속받은 클래스

- ArrayList와 동일한 메소드

addFirst() : 첫번째 원소에 추가

addLast() : 마지막원소에 추가

peek() : 데이터를 반환한다. 복사 기능에 해당한다. 

poll() : 데이터를 반환한다. 잘라내기 기능에 해당한다.

HashSet

- 집합을 구체화하기 위한 Set인터페이스를 상속받은 클래스

- 중복을 허용하지 않고, 순서도 없다

add() : 데이터를 추가한다. 중복된 자료가 있는 경우 제외시킨다

Hashtable

- key와 value로 이루는 데이터 집합으로 순서를 유지하지 않는다.

- 기존의 HasyMap 클래스를 대체하기 위한 클래스로 비동기 방식 동장으로 처리 속도가 개선


put(key, value) : 해당 키와 값을 저장한다. 

containsKey() : 해당 키가 있는지 확인한다. 

containsValue() : 해당 값이 있는지 확인한다. 

keys() : 등록된 모든 키밧을 반환한다. 

get() : 키에 해당하는 값을 반환한다.



+ Recent posts