Math 클래스
- 수학에서 많이 사용되는 함수를 제공하는 클래스
int num = (int) Math.Random() * 10;
-> 0부터 1까지의 소수 난수를 0부터 9까지의 정수 난수로 만드는 식
Random 클래스
- 난수를 발생시키는 데 사용되는 클래스
Random random = new Random();
=> 파라미터를 받지 않는 생성자
System.out.println(random.newInt(100));
=>0부터 99까지의 정수 출력
Arrays 클래스
- 배열을 조작하기 위한 클래스
compareTo 인터페이스
- 어떤 기준으로 정렬할 지 정의해 주기 위해 사용하는 인터페이스
Wapper 클래스
- 기본형 데이터를 오브젝트형 데이터로 넣어 주기 위한 클래스
(1.4버전까진 wapper클래스를 사용해 줘야하지만, 1.5버전에서부턴 박싱&언박싱으로 그냥 넣어줘도 된다.)
ex> // 기본형 데이터 -> wapper클래스
Integer ir = new Integer(10);
//wapper클래스 -> 기본형 데이터
int num = ir.intValue();
자동 Boxing & UnBoxing
- 기본형 객체가 자동 Boxing이 일어나면서 오브젝트형으로 바로 만들어진다.
- 오브젝트형 데이터타입이 자동 Unboxing이 일어나면서 기본형 객체로 바로 만들어진다.
Integer.parseInt();
자료구조
변수 -> 배열 -> 객체 -> 자료구조(ArrayList)
1 student (이름, 점수, 학년) -> 하나의 스튜던트 객체
이 하나의 스튜던트 객체를 반 기준의 자료구조를 만들어 주기 위해서.. 엄청난 데이터들을 보유하고 있다.
DB에서 하나의 자료를 가져와서 Bean(비지니스 로직)에서 ArrayList를 만들어줘서 데이터를 담고 View에서 그 데이터를 보여준다.
1. 생성 -> API
2. 데이터 삽입 -> 메소드 이용, 호출
3. 출력 -> 출력메소드
- 데이터를 효율적으로 사용할 수 있도록 구조를 만들어서 저장해둔 것
종류
- 리스트, 스택, 큐, 해쉬테이블, 집합(자료구조는아님)
Collection - 자료구조에 있어서 거의 써줘야하는 인터페이스
ArrayList<String> list = new ArrayList<String>();
< > 안에 쓰여진 타입을 타입 파라미터
위의 식에선 String타입의 객체만 저장할 수 있다.
int형 타입을 저장시키려면
list.add(new Integer(10));
이런 식으로 형변환한 다음 삽입.
ArrayList는 자동으로 배열 생성되고 배열이 늘어난다.
기본적으로 배열10개가 생성된다.
list.get(2); -> list에 있는 2번째 데이터를 출력
list.size(); -> list에 있는 데이터의 수를 출력
LinkedList 클래스, Vector 클래스
- ArrayList와 동일하다.
Iterator 인터페이스
Enumeration 인터페이스
-> 순차접근 -> list
- list를 iterator라는 객체를 통해 list 안에 있는 값들을 전체 출력을 한다.
- 객체 리턴, 전체 검색이나 비교하려고 할 때 쓴다.
while(en.hasMoreElements) {}
-> 객체에 담은 게 뭔가 있는 지 확인, 있으면 true 없으면 false
stack
큐
해쉬 테이블
- 한번에 두 개의 값이 들어감. 키 값을 통해서 값의 값을 구하는 공식
키를 통해서 value값을 가져온다.
HashMap 클래스를 이용해서 해쉬테이블 만들 땐 두가지 데이터 타입을 정해야한다. 하나는 데이터 타입, 다른 하나는 키 타입
HashMap<String,Integer> ht = new HashMap<String,Integer>();
'Study > Java' 카테고리의 다른 글
[java] Input, Output (0) | 2019.05.15 |
---|---|
[java] 클래스와 자료구조 실습 (0) | 2019.05.15 |
[java] String, StringBuffer 실습 (0) | 2019.05.15 |
[java] 참조값, instead of, 클래스 (0) | 2019.05.15 |
[java] 예외처리, 정적필드 (0) | 2019.05.15 |