본문 바로가기

분류 전체보기

(894)
17 - 4 장 Map<K,V> 컬렉션 인터페이스 1. Map 컬랙션의 특징 - Map는 별도의 인터페이스로 존재 1)Key와 Value 한 쌍으로 데이터를 저장 -Key(키)와 Value(값)의 한쌍으로 데이터 저장 - 엔트리(entry) : 한쌍의 데이터 -Map.Entry 타입으로 정의 2)Key는 중복 저장 불가, Value 중복 가능 -데이터를 구분하는 기준이 Key 값이기 때문에 Key값은 중복될 수 없음 -Value값은 Key값으로 구분해 가져올 수 있으므로 중복 허용 (Key값이 다르면 Value값이 동일하다고 해도 구분 가능) 2. Map 인터페이스의 주요 메서드 구분 메서드명 기능 데이터 추가 put(K key, V value) 입력매개변수의 (Key,Vlaue)를 Map 객체에 추가 putAll(Map
17 - 3장 Set<E> 컬렉션 인터페이스 (2) 4. LinkedHashSet 구현 클래스 - HashSet의 자식 클래스 - HashSet의 모든 기능에 데이터 간의 연결 정보만을 추가로 갖고 있는 컬렉션 (입력된 순서를 기억) - 출력 순서가 항상 입력 순서와 동일한 특징 - List처럼 중간에 데이터를 추가하거나 특정 순서에 저장된 값을 가져오는 것은 불가능 -LinkedHashSet 클래스의 주요 메서드 활용 방법 package CollectionFramework; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; public class LInkedHashSetMethod { public static voi..
17 -3 장 Set<E> 컬렉션 인터페이스 (1) 1. Set 컬렉션의 특징 - 인덱스 정보를 포함하지 않은 동일한 타입의 묶음 - 집합의 개념과 같은 컬렉션 - Set는 데이터를 구분할 수 있는 유일한 방법이 데이터 그 자체 - 동일한 데이터의 중복 저장을 허용하지 않음 - 데이터 중복 허용의 기준은 특정 데이터를 꺼낼 수 있느냐에 따라 달려있음 - List -> 중복된 데이터는 서로 다른 인덱스에 저장돼 있기 때문에 정확히 구분 가능 -Set -> 데이터가 중복됐을 때 aSet.get("다")가 가리키는 정확한 데이터를 알 수 없음 2. Set의 주요 메서드 -contains(Object o) -> 해당 Set 매개변수로 넘어온 뎅이터가 객체 내의 포함돼 있는지를 불리언값으로 리턴 -iterator() ->Iterator객체 리턴 ->Set 객체에서..
17 - 2장 List<E> 컬렉션 인터페이스 1. 배열과 리스트의 차이점 - 배열 = 저장공간의 크기가 고정적 리스트 = 저장공간의 크기가 동적으로 변화 -배열의 특징 -> 크기가 7인 문자열 배열 생성과 동시에 초기화 -> 2개의 데이터를 null값으로 바꾼이후에도 크기 7 String[] array = new String[] ["가","나","다","라","마","바","사"}; array[2] = null; array[5] = null; System.out.println(array.length); //7 - 리스트의 특징 -> 최초 리스트 객체를 생성하면 데이터가 없으므로 저장공간의 크기 0 -> 데이터 7개 추가하면 저장 공간의 크기=7 -> 2개의 데이터 삭제하면 리스트의 저장 공간 크기는 5로 줄어들고, 인덱스 번호 또한 그에 맞게 조정..
17 - 1장 컬렉션 프레임워크 개념과 구조 1. 컬렉션이란? 컬렉션(collecton) - 동일한 타입을 묶어 관리하는 자료구조 배열과 컬렉션의 차이점 배열 생성 시점에 저장공간의 크기 확정 확정시 나중에 변경 불가 컬렉션 데이터의 저장용량을 동적으로 관리 가능 2. 컬렉션 프레임워크란? 라이브러리 - 단순히 연관된 클래스와 인터페이스들의 묶음 프레임워크 - 클래스와 인터페이스들의 모임(라이브러리) - 클래스의 정의에 설계 원칙 또는 구조가 존재 컬렉션 프레임워크 -리스트, 스택, 큐, 트리 등의 자료구조에 정렬,탐색 등의 알고리즘을 구조화해 놓은 프레임워크 자바에서 제공하는 컬렉션의 프레임워크의 주요 클래스와 인터페이스 - 컬렉션의 특성에 따라 크게 List, Set, Map로 나눌 수 있음 - 메모리의 입출력 특성에 따라 기존의 컬렉션 기능을..
16 - 5장 제네릭의 상속 1. 제네릭 클래스의 상속 - 부모 클래스가 제네릭 클래스일 때, 이를 상속한 자식 클래스도 제네릭 클래스가 됨 - 제네릭 타입 변수를 자식 클래스가 그대로 물려받게 됨 - 자식 클래스는 제네릭 타입 변수를 추가해 정의 가능 - 부모 클래스와 제네릭 타입 변수의 개수가 동일할 때 class Parent { //... } class Child extends Parent { //... } - 부모 클래스보다 제네릭 타입 변수의 개수가 많을 때 class Parent { //... } class Child extends Parent { //... } - 제네릭 클래스의 상속 package GenericMethod; class Parent { T t; public T getT() { return t; } pub..
16 - 4장 제네릭 타입 범위 제한 1. 제네릭 타입 범위 제한의 필요성 -과일 클래스(사과, 배, 딸기) 문구 클래스(연필,지우개.볼펜) -과일의 종류만 저장 및 관리하는 제네릭 클래스 생성? 문구류만 저장 및 관리하는 클래스 생성? class Goods { //과일류 또는 문구류만 저장하는 것은 불가능 private T t; public T get() { return t; } public void set(T t) { this.t=t; } } 제네릭 타입의 범위 제한 - 위 기능을 구현하려면 제네릭 타입으로 올 수 있는 실제 타입의 종류를 제한해야함 - 입력매개변수의 제네릭 타입 변수가 Number 클래스로 한정된다면 실제 제네릭타입으로는 Number 또는 Number 클래스의 자식 클래스인 Integer, Long, Float, Dou..
16 -3장 제네릭 메서드 1. 제네릭 메서드의 정의와 호출 - 클래스 전체를 제네릭으로 선언하는 대신, 일반 클래스 내부의 특정 메서드만 제네릭으로 선언 가능 - 리턴타입 또는 입력매개변수의 타입을 제네릭 타입 변수로 선언 - 제네릭 메서드는 호출되는 시점에 실제 제네릭 타입 지정 cf> 제네릭 클래스는 객체를 생성하는 시점에 실제 제네릭 타입 지정 - 제네릭 메서드의 문법 구조 //제네릭 타입 변수명이 1개 접근 지정자 T 메서드명(T t) { //타입 T를 사용한 코드 } //제네릭 타입 변수명이 2개 접근 지정자 T 메서드명(T t, V v){ //타입 T,V를 사용한 코드 } //매개변수에만 제네릭이 사용 접근 지정자 void 메서드명(T t) { //타입 T를 사용한 코드 } //리턴 타입에만 제네릭이 사용 접근 지정자..