언어 자료구조 알고리즘/디딤돌 Java 언어 Part2 활용

[Java 언어 활용] 3.3 Collection 인터페이스

언제나휴일 2016. 12. 10. 11:29
반응형

[Java 언어 활용] 3.3 Collection 인터페이스


 

 Collection 인터페이스는  자료구조를 구현한 다양한 클래스들의 공통적인 기능을 약속한 인터페이스입니다. 이는 Collection을 기반으로 구현한 클래스들을 사용하는 방법을 일관화하여 사용하는 개발자의 학습 비용을 줄여주는 역할을 합니다.

[그림 3.2] Collection 인터페이스와 구현 클래스 계층 구조

[그림 3.2] Collection 인터페이스와 구현 클래스 계층 구조

 

 Collection 인터페이스를 기반으로 구현한 클래스에는 ListSet이 있습니다. 그리고 List를 기반으로 파생한 클래스로 Vector, Stack, ArrayList, LinkedList가 있고 Set을 기반으로 파생한 클래스로 StoredSetHashSet이 있습니다. 따라서 이러한 클래스들의 사용법의 공통적인 부분은 Collection 인터페이스에 약속하고 있는 것입니다.

 

 다음은 Collection 인터페이스의 코드 내용의 일부입니다. 물론 라이브러리에 만들어진 것이며 개발자가 정의하는 것이 아닙니다.

 

Collection 인터페이스

public interface Collection {

        //obj 개체를 추가

        public boolean add(Object obj);

        //col 보관한 모든 개체를 추가

        public boolean addAll(Collection col);

        //컬렉션을 비움

        public void clear();

        //obj 개체를 포함 여부 판별

        public boolean contains(Object obj);

        //col 보관한 모든 개체를 포함 여부 판별

        public boolean containsAll(Collection col);

        //비어있는지 판별

        public boolean isEmpty();

        //반복자 반환

        public iterator iterator();

        //obj 개체 삭제

        public boolean remove(Object obj);

        //col 보관한 개체와 같은 개체들을 제거

        public boolean removeAll(Collection col);

        //col 보관한 개체와 다른 개체들을 제거

        public boolean retainAll(Collection col);

        //보관한 개체 반환

        public int size();

        //컬렉션에 보관한 개체를 포함하는 배열 개체를 생성하여 반환

        public Object[] toArray();

        //컬렉션에 보관한 개체를 포함하는 배열 개체를 반환하며 배열 크기는 arr 같음

        public Object[] toArray(Object[] arr);

}

 

반응형