본문 바로가기
IT/공부메모

2018.04.15 - 자바 중급 (컬렉션, 제네릭)

by 그랭 2018. 4. 15.

자바 중급 - 컬렉션 프레임워크

https://programmers.co.kr/learn/courses/9/lessons/256



- java.util 패키지에 자료를 다룰 수 있는 자료구조 클래스가 있다.

- 자료구조 클래스들을 컬렉션 프레임워크 라고 한다.

- 자료를 저장할수 있는 구조 : 자료구조


Collection     - 컬렉션 프레임워크레서 가장 기본이 되는 interface

 - 여기에 자료가 있다 라는 것을 표현

 - 중복 허용, 자료 저장된 순서 기억못함

 - add(), size(), iterator()


Iterator        - Collection에 저장된 자료를 하나씩 꺼낼 수 있는 interface

- hasNext(), next()

 

Set             - 중복 허용X 

- Collection 인터페이스를 상속받는다

- add()


List             - 중복 허용, 순서 기억하는 자료구조

- Collection 인터페이스를 상속받는다

- get(int)


Map            - Key, Value 가지는 자료구조

 - put(), get()

 - Key 중복 X

 - KeySet() : 모든 Key 정보를 읽을 수 있는 Set을 반환















자바 중급 - 제네릭

https://programmers.co.kr/learn/courses/9/lessons/257



인스턴스를 만들 때 사용하는 타입을 지정하는 문법


<E> 가 제네릭을 적용한 것. 가상 클래스.

public class Box<E> {
        private E obj;
        public void setObj(E obj){
            this.obj = obj;
        }


    public class BoxExam {
        public static void main(String[] args) {
            Box<Object> box = new Box<>();
            box.setObj(new Object());
            Object obj = box.getObj();

            Box<String> box2 = new Box<>();
            box2.setObj("hello");
            String str = box2.getObj();
            System.out.println(str);

            Box<Integer> box3 = new Box<>();
            box3.setObj(1);
            int value = (int)box3.getObj();
            System.out.println(value);
        }
    }




- 제네릭 사용 가상타입 선언 -> 사용시 구체적 타입 설정


- 대표적으로 컬렉션 프레임워크 관련 클래스(Iterator, Set, List, Map) 에서 사용









반응형