*generic
-자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미
-데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입을 가질 수 있도록 하는 방법
-클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법
컴파일 시에 미리 타입 검사(type check)를 수행하면 다음과 같은 장점을 가진다.
-컴파일 시 강한 타입 체크
-타입 변환(casting)을 제거
제네릭 타입 (class<T>, interface<T>)
*컬렉션 프레임워크
-자바는 배열의 여러가지 문제점을 해결하고 , 알려진 자료 구조를 바탕으로 객체를 효율적으로 추가, 삭제, 검색 할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스를 제공 하고 있다.
이들을 총칭해서 컬렉션 프레임워크라고 부른다.
-데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은 것
-자바의 인터페이스(interface)를 사용하여 구현
컬렉션 프레임워크 주요 인터페이스
List | 순서가 있는데이터의 집합, 데이터의 중복 허용 | Vector, ArrayList, LinkedList, Stack, Queue |
Set | 순서가 없는 데이터의 집합, 데이터 중복 허용하지 않음 | HashSet, TreeSet |
Map<K, V> | 키와 값의 한쌍으로 이루어지는 데이터의 집합으로 순서가 없음. 이때 키는 중복을 허용하지 않지만, 값은 중복될 수 있음. | HashMap, TreeMap, Hashtable, Properties |
컬렉션 클래스
-컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스
-모든 컬렉션 클래스는 List와 Set, Map 인터페이스 중 하나의 인터페이스를 구현하고 있다.
-Vector나 Hashtable과 같은 컬렉션 클래스는 예전부터 사용해 왔으므로, 기존 코드와의 호환을 위해 아직 남아 있다.
-하지만 기존에 사용하던 컬렉션 클래스를 사용하는 것보다는 새로 추가된 ArrayList나 HashMap 클래스를 사용하는 것이 성능 면에서 더 나은 결과를 얻을 수 있다.
'java' 카테고리의 다른 글
java (Map-HashMap,Hashtable, Properties) (0) | 2022.09.29 |
---|---|
java (List-ArrayList, Vector, LinkedList) (0) | 2022.09.29 |
java (Wrapper 클래스, Arrays 클래스, StringTokenizer) (0) | 2022.09.28 |
java (Math 클래스, Date, Calendar 클래스) (0) | 2022.09.28 |
java (StringBuffer) (0) | 2022.09.28 |