목록Java (181)
충분히 쌓여가는
타입 변수 지네릭스 클래스를 작성할 때, Object 타입 대신 타입 변수(E)를 선언해서 사용 타입 변수에 대입하기 객체를 생성시, 타입 변수(E) 대신 실제 타입(Tv)을 지정(대입) // 타입 변수 E 대신에 실제 타입 Tv를 대입 ArrayList tvList = new ArrayList(); Tv가 E에 대입 타입 변수 대신 실제 타입이 지정되면, 형변환 생략가능 코드 import java.util.ArrayList; class Tvv {} class Audioo {} public class typeVariableTest { public static void main(String[] args) { ArrayList list = new ArrayList(); // Tvv 타입의 객체만 저장가능 l..
Generices 컴파일시 타입을 체크해 주는 기능(compile-time type check) ArrayList tvList = new ArrayList(); tvList.add(new Tv()); // OK tvList.add(new Audio()); // 컴파일 에러, Tv 외에 다른 타입은 저장 불가 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줌 지네릭스의 장점 1. 타입 안정성을 제공 2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다 코드 ClassCastException 발생: 컴파일러는 list.get(2)의 type가 Object라서 (Integer)를 허용하지만 실제로 list 안에 어떤 것이 들어있는지 확인할 수 없다 차라리 실행 시 발생하는 에러보다 컴파일 도중 ..
HashMap과 Hashtable - 순서 X, 중복(키X, 값O) Map 인터페이스를 구현, 데이터를 키와 값의 쌍으로 저장 HashMap(동기화 X)은 Hashtable(동기화 O)의 신버전 HashMap Map 인터페이스를 구현한 대표적인 컬렉션 클래스 순서를 유지하려면, LinkedHashMap 클래스를 사용하면 된다 TreeMap(≒ TreeSet) 범위 대상과 정렬에 유리한 컬렉션 클래스 HashMap보다 데이터 추가, 삭제에 시간이 더 걸림(비교하면서 저장하기 때문) HashMap의 Key와 Value Hashing 기법으로 데이터를 저장, 데이터가 많아도 검색이 빠르다 Map 인터페이스를 구현, 데이터를 key와 value의 쌍으로 저장 키(key) 컬랙션 내의 키(key) 중에서 유일해야..
TreeSet의 주요 생성자와 메서드 생성자 또는 메서드 설명 TreeSet() 기본 생성자 TreeSet(Collcetion c) 주어진 컬렉션을 저장하는 TreeSet을 생성 TreeSet(Comparator comp) 주어진 정렬기준으로 정렬하는 TreeSet을 생성 Object first() 정렬된 순서에서 첫 번째 객체를 반환한다 Object last() 정렬된 순서에서 마지막 객체를 반환한다 Object ceiling(Object o) 지정된 객체와 같은 객체를 반환, 없으면 큰 값을 가진 객체 중 제일 가까운 값의 객체를 반환, 없으면 null Object floor(Object o) 지정된 객체와 같은 객체를 반환, 없으면 작은 값을 가진 객체 중 제일 가까운 값을 객체를 반환, 없으면 n..