Java/Chapter
Java Chapter.20 - 제네릭, 자료구조
Marmellata
2023. 4. 19. 16:19
제네릭
객체가 생성될 때 클래스 안에 있는 자료형이 선택 됩니다.
단, 참조자료형만 가능. - 기본자료형 X (class 만 된다.)
int > integer
double -> Double (대문자를 써야한다)
사용 예제
package Day27;
class Box<T>{
T vol;
void setVolume(T v) {
vol = v;
}
T getVolume() {
return vol;
}
}
public class GenericTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Box<Integer> ibox = new Box<Integer>();
ibox.setVolume(200);
// ibox.setVolume(23.3); // 에러난다
System.out.println("<Interger> 박스의 부피는 : "+ ibox.getVolume());
Box<Double> dbox = new Box<Double>();
dbox.setVolume(123.456);
// dbox.setVolume(300); // double 이어도, 정수형은 에러난다.
}
}
출력결과
<Interger> 박스의 부피는 : 200
<Double> 박스의 부피는 : 123.456
자료구조
- 데이터를 특정 구조로 모아놓은 것
자바 구조
리스트 list, 집합 Set, 맵 Map
리스트
- 순서가 있음, 데이터의 중복가능
관련 인터페이스 Collection, List
관련 클래스 ArrayList(주로사용), LinkedList, Stack
셋 Set
순서가 없음, 데이터의 중복 불가
관련 인터페이스 Collection, Set
관련 클래스 HashSet, TreeSet, LinkedHashSet
맵
키와 값으로 구성
키는 중복 불가
값은 중복 가능
관련 인터페이스 Map
관련 클래스 HashMap(주로사용), TreeMap