java.lang Pakage
Math Class
📑 java api 바로가기 ▸ Math
• java.lang 패키지에 있는 클래스
• 모든 메소드는 static 타입으로 바로 사용가능
✔ 주요 메소드
| 리턴타입 | 메소드명 | 설명 |
| static double | abs(double a) | 절대값 리턴 |
| static double | cos(double a) | |
| static double | sin(double a) | |
| static double | tan(double a) | |
| static double | ceil(double a) | 올림 |
| static double | floor(double a) | 내림 |
| static double | random() | |
| static long | round(double a) | 반올림 |
| static long | sqrt(doubel a) | a의 제곱근 리턴 |
java.util Package
Calendar Class
📑 java api 바로가기 ▸ Calendar
• java.util 패키지에 있는 추상클래스
• 년, 월, 일 ,요일, 시간, 분 초, 밀리초 등 get(), set() 메소드를 이용하여 저장하거나 알아낼 수 있는 클래스
• 1970.1.1.0.0.0을 기준으로 계산해서 나옴
• 추상클래스여서 객체 생성 불가 > getInstance() 얻어서 사용 > 현재 날짜와 시간로 가져온다
✔ Calendar의 get(), set()에 사용되는 상수 (앞에 Calendar.YEAR 이렇게 클래스명 붙음)
| YEAR | 년도 |
| DAY_OF_MONTH | 한달의 날짜 |
| MONTH | 달 ( 0 ~ 11) |
| DAY_OF_WEEK | 한주의 요일 |
| HOUR | 시간 ( 0 ~ 11) *12시는 0시 |
| AM_PM | 오전 오후 |
| HOUR_OF_DAY | 24시간을 기준으로한 시간 |
| MINUTE | 분 |
| SECOND | 초 |
| MILLISECOND | 밀리초 ( 1000이 1초) |
✔ GregorianCalendar 클래스
1970.1.1.0.0.0 기준으로 365.25일 4년에 한번씩 윤달 있음
%100 == 0 || %4 ==0
Date class Class
📑 java api 바로가기 ▸ Date
• 단일클래스 날짜 관련 클래스
• 1900.1.1.0.0.0 기준으로 / 1970.1.1.0.0.0 기준으로
Collections Class
📑 java api 바로가기 ▸ Collections
• JDK는 소위 자료구조 과목에서 배우는 많은 자료 구조들을 컬렉션으로 만들어 제공
• 제네릭이라는 기법으로 구현
• 컬렉션은 배열이 가진 고정크기의 단점을 극복하기 위해 객체들을 쉽게 삽입, 삭제, 검색 할 수 있는 가변 크기의 컨테이너다.
• 배열 vs 컬렉션 : 가변크기로 객체 수 염려할 필요 없으며 중간 객체를 삭제시 자동으로 위치를 옮겨준다.
✔ 컬렉션을 위한 자바 인터페이스와 클래스
[ Collection 상속, 단일 클래스의 객체만 다룸]
- Vector, ArratList : 가변크기의 배열
- LinkedList : 노드들이 링크로 연결되는 리스트
- Stack : 스택
- HashSet : 집합
[ Map 상속 ]
- HashMap : 키와 값의 쌍으로 이루어진 데이터 저장하는 컬렉션

제네릭(generics) 기법
• 컬렉션은 제네릭이라는 기법으로 만들어짐. JDK 1.5부터 도입
• 컬렉션 클래스 이름에 <E> <K> <V> 등이 포함 > 타입매개변수(generic type)
💡
E : element 요소
T : type
V : value
K : key
✍🏻 ex)
Vector<Integer> > 정수만 저장하는 벡터
Vector<String> > 문자열만 저장하는 벡터
Vector > 타입 상관없이 모든 타입 저장 가능
✔ 특징
- 특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록 를 사용
- 단, int, char, double 등 기본타입으로는 제네릭 사용불가 > Integer, Character 등 객체로 제네릭 지정
> 동일한 프로그램 코드에 다양한 데이터 타입을 적용할 수 있도록 클래스와 함수들을
일반화시켜 제네릭 함수와 제넭 클래스를 만들고 그것을 이용해 개발자는 원하는 데이터 타입으로
구체화시켜 함수나 클래스 코드를 찍어내듯이 생산하는 기법
✍🏻 Ex)
class Stack<E>{
...
void push(E element) {...}
E pop() {...}
...
}
// E에 대한 구체적 타입을 지정하면, 지정된 타입만 다룰 수 있는 구체화된 스택이 된다.
// E로 써놓은 부분이 자동으로 변경됨
// 정수 스택
new Stack<Integer>();
void push(Integer element) {...}
return Integer pop(){...}
// 문자열 스택
Stack<String>
void push(String element){...}
return String pop(){...}
// 제네릭타입 생략
Stack
void push(Object element){...}
return Object pop(){...}
// > Object로 리턴되면 실제 객체에 따라 형변환 해야함
ArrayList<E> Class **자주씀
📑 java api 바로가기 ▸ ArrayList<E>
• java.util 패키지에 포함
• 가변적 배열 구조, 삽입되는 요소의 개수에 따라 자동 크기 조절
• 요소 삽입/삭제에 따라 요소들의 자리 자동 이동
✔ 주요메소드
| 리턴타입 | 메소드명 | 설명 |
| boolean | aadd(E element) | 맨 뒤에 element 추가 |
| void | add(int idx, E element) | index에 element 추가 |
| void | clear() | 모든 요소 삭제 |
| boolean | contains(Object o) | o를 포하하고 있으면 true 리턴 |
| E | get(int idx) | idx의 요소 리턴 |
| int | indexof(Object o) | o의 idx 번호 리턴 |
| boolean | isEmpty() | ArrayList가 비어있으면 true |
| E | remove(int idx) | index 요소 삭제 |
| boolean | remove(Object o) | o와 같은 첫번째 요소 삭제 |
| int | size() | ArrayList 내 요소의 개수 리턴(저장된 데이터 수) |
| Object[] | toArray() | 모든 요소 포함한 배열 리턴 (배열로 변환) |
✔ 객체 생성
ArrayList<타입매개변수> 참조변수명 = new ArrayList<타입매개변수>();
Vector<E> Class
📑 java api 바로가기 ▸ Vector<E>
• java.util 패키지에 포함
• 가변적 배열 구조, ArrayList와 거의 동일
• ArrayList<E>의 차이점은 벡터는 스레드간에 동기화지원 해줌
-> 다수의 스레드가 동시에 ArrayList에 요소 삽입/ 삭제시 데이터 훼손 우려되지만 Vector는 동기화 된 상태에서 스레드들이 접근하므로 회손 안됨
✔ 주요메소드
| 타입 | 설명 | |
| boolean | add(E element) | 맨 뒤에 element 추가 |
| void | add(int idx, E element) | index에 element 추가 |
| void | clear() | 모든 요소 삭제 |
| boolean | contains(Object o) | o를 포하하고 있으면 true 리턴 |
| E | get(int idx) | idx의 요소 리턴 |
| E | elementAt(int idx) | idx의 요소 리턴 |
| int | indexof(Object o) | o의 idx 번호 리턴 |
| boolean | isEmpty() | Vector가 비어있으면 true |
| E | remove(int idx) | index 요소 삭제 |
| boolean | remove(Object o) | o와 같은 첫번째 요소 삭제 |
| int | size() | Vector내 요소의 개수 리턴(저장된 데이터 수) |
| Object[] | toArray() | 모든 요소 포함한 배열 리턴 (배열로 변환) |
| int | catacity() | 저장 용량 리턴 |
✔ 객체 생성
Vector<타입매개변수> 참조변수명 = new Vector<타입매개변수>();
'basic > java 이론' 카테고리의 다른 글
| day 19 - [입출력-java.io] File, FileOutput/FileInputStream Class, Output/InputStreamReader Class, Thread (0) | 2021.05.20 |
|---|---|
| day 18 - [java api] Iterator 반복자, HashMap class, LinkedList class, Stack class, Set<E> interface, properties class (0) | 2021.05.18 |
| day 16 - 패키지, API (0) | 2021.05.14 |
| 자바 문법 배운것 총정리 (0) | 2021.05.13 |
| day 15 - 싱글톤 Singleton, 내부 클래스, 예외처리 Exception handling (0) | 2021.05.12 |