컬렉션 : 데이터의 집합, 그룹을 의미,
JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렌션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공
**제네릭 <> : 타입제한 가능
instanceof는 객체 타입을 확인하는 연산자이다.
형변환 가능 여부를 확인하며 true / false로 결과를 반환한다.
주로 상속 관계에서 부모객체인지 자식 객체인지 확인하는 데 사용된다.
instanceof의 기본 사용방법은 "객체 instanceof 클래스" 를 선언함으로써 사용한다.
List 와 Set은 Collection의 상속을 받기 떄문에 구조와 메소드가 비슷함
List Set은 객체 하나만 넣으면 되는데
Map은 키와 값을 쌍으로 넣어야함
*키는 중복 저장 불가 (set방식을 따름)
값은 중복 저장 가능 (list방식을 따름)
Map은 키를 따르기 때문에 순서 유지하지 않고 저장, 중복저장안됨 (set 방식)
(인덱스를 가지고 있음)
조회용으로 많이 사용
리스트(List)의 주요 기능
삽입: List.add(값);
중간 삽입: List.add(index, value);
치환: List.set(index, value); : 중간 삽입과 비슷하게 index는 치환할 값 자리에 인덱스이고 value는 치환할 자리의 값이다.
삭제: List.remove(index); : 인덱스 위치에 있는 값을 삭제한다.
전체 삭제: List.clear(); 모든 요소를 삭제
출력: List.get(index) : 인덱스 위치에 있는 값을 출력
사이즈: List.size() : 리스트에 크기를 알 수 있다.
(인덱스를 가지고 있지 않음)
동일객체 = 주소값이 같은 객체
동등객체 = 주소값이 같지 않지만 내용이 같은 객체
equals로 오버라이딩을 통하여 확인 가능
순서 유지하고 싶을 때 사용
정렬기준이 세워져있을때 사용
기존 정렬기준 1개 :compareTo
그외 새로운 정렬기준 : comporator
1.기본적으로 단방향, 상속받으면 양방향 가능
2.재사용 불가
ex)
Iterator<Dog> it = set4.iterator();
while(it.hasNext()) { // hasNext : set안에서 더 꺼내올만한 것이 있는지 확인
System.out.println(it.next());
}
while(it.hasNext()) {
System.out.println("re : " + it.next()); //재사용 불가라 뜨지 않음
}
▲re가 실행되지 않음
키 값은 중복저장 되지 않아서 뒤로 들어온 값으로 덮어씌운다
엔트리 : 키와 값 묶음
정렬은 키로 해줌
키에 대한 제네릭은 주로 string 사용
키와 값을 sting타입으로 제한하는 Map 컬렉션의 클래스
파일을 읽고 담는 용도로 많이 사용
제네릭을 사용할 필요 없음 (타입 제한을 성질ㅇ을 이미 가지고 있기 때문에 )
Enumeration 와일드카드
반환타입 object