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() : 키에 해당하는 값을 반환한다.
'DEV > JAVA' 카테고리의 다른 글
[Java] primitive 타입의 데이터를 자릿수 쪼개서 배열에 담기 (0) | 2019.05.22 |
---|---|
[Java] 객체직렬화(serializable) 사용이유와 개념 (0) | 2019.05.16 |
[Java] 메모리 구조 (0) | 2019.05.06 |
java.lang 패키지 (0) | 2019.05.03 |
Exception 종류 (0) | 2019.04.11 |