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