(2) ArrayList
·
자바/컬렉션 프레임워크
1. ArrayList - ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적인 측면에서 동일하다. - Object 배열을 이용해서 데이터를 순차적으로 저장하며, 공간이 없다면 더 큰 새로운 배열을 만들어서 복사하여 저장한다. - 자세한 메서드 종류는 자바의 정석 584~585를 참고한다. 1-1. ArrayList를 이해하기 위한 예제(1) : 추가, 제거, 포함 등의 메서드를 이용하는 예제이다. 1-2 ArrayList를 이해하기 위한 예제(2) : 43개의 문자열을 10개씩 자르고 List 객체에 넣어주는 예제이다. 1-3. ArrayList를 이해하기 위한 예제(3) : Vector 클래스를 알아보는 예제이다. ( trimToSize() 호출은 새로운 인스턴스를 생성해서 반환..
(1) 컬렉션 프레임웍이란?
·
자바/컬렉션 프레임워크
1. 컬렉션 프레임웍이란? - 데이터 군(group)을 저장하는 클래스들을 표준화한 설계를 뜻한다. - 컬렉션은 다수의 데이터, 즉 데이터 그룹을, 프레임웍은 표준화된 프로그래밍 방식을 의미한다. - Vector, Hashtable, Properties와 같은 클래스를 컬렉션 클래스라고 부르며, 원래는 JDK1.2 이전에는 서로 다른 각자의 방식으로 처리해야 했으나, 프레임웍이 등장 이후로는 표준화된 방식으로 다룰 수 있도록 체계화되었다. 1-1. 컬렉션 프레임웍의 핵심 인터페이스 - 아래의 그림처럼 컬렉션 프레임웍에서는 컬렉션 데이터 그룹을 크게 3가지 타입이 존재하는데, List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가 정의하였다. - List, Set, M..
java.time 패키지(3) - 파싱과 포맷
·
자바/java.time 패키지
1. 파싱과 포맷 - 형식화와 관련된 클래스들은 java.time.format 패키지에 들어있는데, 이 중에서 DateTimeFormatter가 핵심이다. - 직접 형식들은 정의도 할 수 있다. - 아래의 코드를 보고 이해하자. ( DateTimeFormatter의 상수를 더 보고 싶다면 자바의 정석 573p를 참고하자. ) 1-1. 로케일에 종속된 형식화 - ofLocalizedDate(), ofLocalizedTime(), ofLocalizedDateTime()이 있는데, DateTimeFormatter의 static 메서드이다. - 아래의 코드를 보고 이해하자. ( ofLocalizedDate()로 만들었고, 인자값은 FULL 뿐만 아니라, LONG, MEDIUM, SHORT가 더 있는데, 출력 값..
java.time 패키지(2) - TemporalAdjusters와 Period & Duration
·
자바/java.time 패키지
1. TemporalAdjusters - 날짜와 시간을 plus()와 minus()를 써서 바꿨지만, TemporalAdjusters를 사용하면 직관적으로 바꿀 수 있다. - 아래의 코드를 보고 이해하자. - 이외에도 여러 개의 메서드가 존재하는데, 이것은 자바의 정석 565p를 참고하자. - 아래의 코드는 TemporalAdjuster의 인터페이스이다. ( 사실 with() 대신에 adjustInto()를 사용해도 된다. ) ( adjustInto()를 쓴다는 것은 내부적으로 사용하기 위해서 사용되기 때문에, 이것이 아니라면 with()를 쓴다.) 1-1. TemporalAdjusters를 이해하기 위한 예제(1) : TemporalAdjuster를 내부적으로 인터페이스를 상속 받아 구현한다. ( im..