[Java] 제네릭과 와일드카드 (상한제한, 하한제한)
제네릭과 와일드카드 제네릭 메소드는 리턴타입 앞에 가 붙는다. 하지만 와일드 카드는 타입매개변수로 를 넣어서 제네릭 메소드와 동일한 기능을 하는 일반 메소드를 만들 수 있다. (이걸 더 권장) 제네릭은 클래스, 메소드 모두 사용 가능! 와일드 카드는 메소드에서만 사용 가능! 와일드카드와 상한제한
제네릭과 와일드카드 제네릭 메소드는 리턴타입 앞에 가 붙는다. 하지만 와일드 카드는 타입매개변수로 를 넣어서 제네릭 메소드와 동일한 기능을 하는 일반 메소드를 만들 수 있다. (이걸 더 권장) 제네릭은 클래스, 메소드 모두 사용 가능! 와일드 카드는 메소드에서만 사용 가능! 와일드카드와 상한제한
제네릭을 사용하는 이유 제네릭을 사용하지 않았을 시 1. 데이터 형변환 해주는 거 너무 불편함!! 2. 틀린 자료형으로 형변환을 해도 런타임오류라서 빨간줄은 그이지 않지만 실행하면 오류가 나서 오류 찾기가 어려움!! 제네릭 사용법 클래스명 -통상적으로 많이 쓰는 타입 매개변수 T : type E : element N : Number K : Key V : Value 제네릭으로 만들어진 클래스를 객체 생성할 때 원하는 타입으로 생성가능! 이렇게 오렌지타입으로 객체를 생성했는데 사과타입을 넣으면 빨간 줄 오류가 표시돼서 오류확인에 용이함!! get()으로 불러왔을 때 형변환도 해줄 필요 없어서 너무 편리함!! 타입 2개 지정 가능!!! 제한된 제네릭 타입인자로 특정 타입만 들어올 수 있도록 지정할 수 있음 상..
Map 컬렉션 : 데이터를 Key와 Value의 한 쌍으로 저장 Key 중복X, Value는 중복O 순서X List와 달리 인덱스가 없기 때문에 라벨지인 Key를 넣어줌 Map인터페이스를 구현하는 클래스 Map 객체 생성 Map map = new HashMap(); Map 데이터 추가 map.put(key, value) 중복된 key가 추가는 되지만 마지막에 넣은 중복key의 데이터만 저장됨 Map 데이터 읽기 map.get(key) Map 데이터 삭제 map.remove(key) 전체 삭제 map.clear() Map 모든 데이터 읽기 Map의 Key값을 Set으로 받아서 Map의 데이터를 출력하면 됨 map.keySet()
배열의 중복 값 제거하는 법 Collection Framework에서 List 인터페이스의 ArrayList 클래스는 중복 값을 허용하지만 Set 인터페이스의 HashSet 클래스는 중복 값을 허용하지 않기 때문에 배열을 ArrayList로 만들어서 ArrayList를 HashSet 담갔다가 빼면 중복 값이 사라집니다. Set Set명 = new HashSet(List명); List List명2 = new ArrayList(Set명); 매개변수에 넣어주시면 됩니다!