2019. 3. 20. 19:08ㆍJAVA
-------------------------------Formater-------------------------------------
========SimpleDateFormat, DecimalFormat========
SimpleDateFormat
// 날짜 포맷팅 Date -> Text
String format(Date date)
DecimalFormat
// 숫자 포맷팅 Number -> Text
String format(int number)
String format(double number)
아래처럼 사용 가능하다.
format format
--------------- --------------
| | | |
| v | v
Date 문자 숫자 문자
^ | ^ |
| | | |
--------------- --------------
parse parse
============parse===========
parse는 입력값을 문자열로 바꾼것을 다시 입력값으로 바꿔준다.
============MessageFormat========
String배열의 값을 한번에 사용 할 수 있게 해주는것
위와 같은걸(Object .......) 가변길이 매개변수라 한다. 그리고 사용하게 되면 메소드가 계속적으로 쓸수있다.
예시 ) method("홍길동", new Integer(10), 30, 등등 계속)
=============java.time================
날짜를 출력 보다는 날짜끼리의 계산을 할때 주로 사용된다.
(jdk 1.8부터 생긴기능)
-----------------------------------콜렉션------------------------------------
<배열과 콜랙션 비교>
인터페이스 분류
Collection (모든 자료구조 클래스가 만드시 구현해야 하는 기능 정의 (추상화)
-----------------------------------------------------------
List : Collection + 순서를 유지해야하는 클래스가 반드시 구현해야 하는 기능 정의 (추상화)
순서에 맞게 저장하는게 중요하기때문 주로 사용함
(특징)
- 순서를 유지하고 저장
- 중복 저장 가능
(구현 클래스)
ArrayList(제일 많이 씀), Vector, LinkedList
-----------------------------------------------------------
Set : Collection + 중복을 허용하지 않는 클래스가 반드시 구현해야 되는 기능 정의 (추상화)
(특징)
- 순서를 유지하지 않고 저장
- 중복저장 안됨
(구현 클래스)
HashSet(중복값 넣으도 에러는 안나지만 값이 입력되지도 않음), TreeSet
-----------------------------------------------------------
Map -----------------------------------------------------------
(특징)
- 키와 값의 쌍으로 저장
- 키는 중복 저장 안 됨
(구현클래스)
HashMap, Hashtable, TreeMap, Properties
-----------------------------------------------------------
Collection의 주요 메소드
boolean .add(E e)
- 객체 저장
void .clear()
- 콜렉션에 저장된 모든 객체 삭제
boolean .contains(Object o)
- 지정된 객체를 콜렉션이 포한하고 있으면 true를 반환 (확인)
boolean .isEmpty()
- 콜렉션이 비어있으면 true를 반환
Iterator<E> .iterator()
- 콜렉션에 저장된 모든 객체를 순회할 수 있는 Iterator객체를 반환 (추출)
boolean remove(Object o)
- 지정된 객체를 콜렉션에서 삭제
int size()
- 콜렉션에 저장된 객체의 객수를 반환
List의 주요 메소드
void .add(int index, E e)
- 지정된 인덱스 위치에 객체 저장
E .get(int index)
- 지정된 인덱스 위치에 저장된 객체 반환
E remove(int index)
- 지정된 인덱스 위치에 저장된 객체를 삭제하고 반환
E set(int index, E e)
- 지정된 인덱스 위치에 저장된 객체를 새 객체로 교환하고 이전 객체 반환
ArrayList - 중간에 삭제하면 앞으로 하나씩 다 끌고옴
LinkedList - 기차처럼 하나씩 저장한 모습으로 중간에 삭제할경우 삭제한부분말고 앞뒤로 그냥 연결한다.
(주로 삭제할 경우 이LinkedList가 빠름)
==========기본자료형 입력 Wrapper =======
기본 자료형을 입력할려면 Wrapper(오토박싱, 오토언박싱)을 이용해야한다.
Integer x = 10; // 오토박싱 Integer x = new Integer(10);
Integer x = new Integer(30);
int y = x; // 오토언박싱 int y = x.intValue();
사용예제 )
------------------------------------제네릭-----------------------------------
제네릭이란
객체 생성 시점에 타입이 결정되는것
제네릭 표기법
public class ArrayList<T(아무거나 상관없음)> { // 제네릭 타입
void add(T o) {,,,,} // 설정한 타입으로 추가
T get(int i) {......} // 형변환을 할필요가 없다.
}
ArrayList<String> a = new ArrayList(); // ArrayList에 String으로만 입력됨
void add(String o) {.......} // String 으로 입력
String get(int i) {...........} // String 으로 출력
ArrayList<User> a = new ArrayList(); // ArrayList에 User으로만 입력됨
void add(User o) {.......} // User 로 입력
User get(int i) {........} // User 로 출력
담을 타입을 <> 안에 적는다.
사용 이유
1. 자료구조의 한종류의 값을 담기위해
2. 값을 꺼낼때 마다 불필요한 형변환을 하지않기 위해