Java Enumeration과 Iterator의 차이점
1. Enumeration Enumeration는 버전 1.0부터 Java에 있었다. 인터페이스이며 모든 구현을 통해 요소에 하나씩 액세스할 수 있다. 간단히 말해서 Vector 및 Hashtable과 같은 개체 컬렉션을 반복하는데 사용된다. Enumeration의 예이다. Vector<Person> people = new Vector&...
1. Enumeration Enumeration는 버전 1.0부터 Java에 있었다. 인터페이스이며 모든 구현을 통해 요소에 하나씩 액세스할 수 있다. 간단히 말해서 Vector 및 Hashtable과 같은 개체 컬렉션을 반복하는데 사용된다. Enumeration의 예이다. Vector<Person> people = new Vector&...
1. DAO 패턴 DAO 패턴이라고 하는 데이터 액세스 개체 패턴은 데이터 지속성을 추상화한 것으로, 종종 테이블 중심인 기본 스토리지에 더 가깝다고 간주된다. 따라서 많은 경우 DAO가 데이터베이스 테이블과 일치하므로 스토리지에서 데이터를 더욱 쉽게 전송/검색할 수 있으므로 추한 쿼리를 숨길 수 있다. DAO 패턴의 간단한 구현이다. 1) Us...
1. java.io의 BufferedReader 먼저 BufferedReader에서 readLine()을 사용하여 레코드를 한 줄씩 읽는다. 그런 다음 쉼표 구분 기호에 따라 줄을 토큰으로 나눈다. List<List<String>> records = new ArrayList<>(); try (BufferedReader...
1. JSON 스키마(schema) JSON은 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 데이터 교환 표준이다. 이때 JSON 데이터를 전송받는 측에서는 전송받은 데이터가 적법한 형식의 데이터인지를 확인할 방법이 필요하다. 따라서 적법한 JSON 데이터의 형식을 기술한 문서를 JSON 스키마(schema)라고 한다. JSON 스키마에 ...
1. JSON 구조 JSON은 자바스크립트의 객체 표기법으로부터 파생된 부분 집합이다. 따라서 JSON 데이터는 다음과 같은 자바스크립트 객체 표기법에 따른 구조로 구성된다. JSON 데이터는 이름과 값의 쌍으로 이루어진다. JSON 데이터는 쉼표(,)로 나열된다. 객체(object)는 중괄호({})...
1. JSON 문법 JSON은 자바스크립트의 객체 표기법에서 리터럴(literal)과 프로퍼티(property)를 표현하는 방법만 가져와서 사용한다. 따라서 JSON 데이터는 모양과 규칙이 매우 단순하다. 그로 인해 브라우저 영역에서도 쉽고 빠르게 그 의미를 해석할 수 있으며, 다른 프로그래밍 언어에서도 구현하기 쉽다. 2. 리터럴(literal)...
1. LocalDate 클래스와 LocalTime 클래스 LocalDate 클래스는 날짜를 표현하는데 사용되며, LocalTime 클래스는 시간을 표현하는데 사용된다. java.time 패키지에 포함된 대부분의 클래스들은 이 두 클래스를 확장한 것이 많다. 2. 날짜와 시간 객체의 생성 LocalDate와 LocalTime 클래스는 객체를 생성하기 ...
1. java.util.Optional 클래스 Optional 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)이다. 따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다. 이러한 Optional 객체를 사용하면 예상치 못한 NullPointerExceptio...
1. 스트림의 최종 연산(terminal operation) 스트림 API에서 중개 연산을 통해 변환된 스트림은 마지막으로 최종 연산을 통해 각 요소를 소모하여 결과를 표시한다. 즉, 지연(lazy)되었던 모든 중개 연산들이 최종 연산 시에 모두 수행되는 것이다. 이렇게 최종 연산 시에 모든 요소를 소모한 해당 스트림은 더는 사용할 수 없게 된다. ...
1. 스트림의 중개 연산(intermediate operation) 스트림 API에 의해 생성된 초기 스트림은 중개 연산을 통해 또 다른 스트림으로 변환된다. 이러한 중개 연산은 스트림을 전달받아 스트림을 반환하므로, 중개 연산은 연속으로 연결해서 사용할 수 있다. 또한, 스트림의 중개 연산은 필터-맵(filter-map) 기반의 API를 사용함으로...