coding log
article thumbnail
반응형

Collection Framework

  • 다수의 객체(data)를 다루기위한 표준화된 프로그래밍 방식 (프로그램을 만들때 정해진 틀)
  • 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
  • 객체(data)를 다룬다는 것은 저장, 삭제, 검색, 정렬을 말한다
  • java.util 패키지에 포함되있고 JDK 1.2부터 제공한다

 

타인이 짜둔 코드를 원하는대로 유지보수하기 어려워 특정 프레임워크를 사용하기 시작했다.

특정 프레임워크를 사용해서 프로그래밍을 짜면 다른사람이 봤을때 이해도가 높다.

 

라이브러리 Library
누군가가 미리 만들어 둔 정보 (오디오 라이브러리, 통계 라이브러리, 그래픽 라이브러리 등) 

 

 

Collection Framework 핵심 인터페이스 

 

 

인터페이스 특징 구현 클래스
List 순서가 있는 데이터의 집합, 데이터 중복 허용
ex) 대기자 명단
ArrayList, LinkedList, Stack, Vector, Queue
Set 순서를 유지하지않는 데이터의 집합, 데이터 중복 비허용
ex) 양의 정수집합, 소수의 집합
HashSet, TreeSet
Map key와 value 쌍으로 이루어진 데이터의 집합
순서는 유지되지않고, 키는 중복 비허용, 값은 중복허용
ex) 우편번호, 지역번호(전화번호)
HashMap, TreeMap, Hashtable, Properties 

 

 

 

 List 인터페이스 

  • 순서o, 중복o
  • ArrayList, LinkedList 핵심

 

 

 

  • List 인터페이스 메소드
  • Collection 인터페이스 메소드는 제외하고 추가적인 메서드를 아래 서술
  • 메소드 주기능 - 추가, 삭제, 검색, 정렬

 

메소드 설명
void add(int index, Object element)
boolean addAll(int index, Collection C)
지정된 위치(index)에 객체(element) 또는 컬렉션에 포함된 객체들을 추가
Object get(int index) 지정된 위치에 있는 객체를 반환
int indexOf(Object o) 지정된 객체의 위치를 반환 (List의 첫번째 요소부터 순방향으로 찾는다)
int lastIndexOf(Object o) 지정된 객체의 위치를 반환 (List의 마지막 요소부터 역방향으로 찾는다)
ListIterator listIterator()
ListIterator listIterator(int index)
List의 객체에 접근할 수 있는 ListIterator를 반환
Object remove(int index) 지정된 위치에 있는 객체를 삭제하고 삭제된 객체를 반환
Object set(int index, Object element) 지정된 위치에 객체를 저장
void sort(Comparator c) 지정된 비교자(comparator)로 List를 정렬
List subList(int fromIndex, int toIndex) 지정된 범위(fromIndex~toIndex)에 있는 객체를 반환 (요소를 일부만 뽑아냄)

 

 

 

 Set 인터페이스 

  • 순서x, 중복x
  • HashSet, TreeSet 핵심
  • Set 인터페이스 메서드 = Collection 인터페이스 메서드 동일
  • 집합과 관련된 메서드 (Collection에 변화가 있으면 true, 아니면 false를 반환.

 

 

  • Set 인터페이스 메소드

 

메소드 설명
boolean add(E e)
boolean addAll(Collection c)
해당 컬렉션에 전달된 요소를 추가함 (선택적 기능)
지정된 Collection (c)의 객체들을 Collection에 추가 (합집합)
void clear() 해당 컬렉션의 모든 요소 전체 삭제 (선택적 기능)
boolean contains(Object o)
boolean containsAll(Collection c)
해당 컬렉션이 전달된 객체를 포함하고있는지를 확인함
지정된 Collection의 객체들이 Collection에 포함되어있는지 확인 (부분집합)
boolean equals(Object o) 해당 컬렉션과 전달된 객체가 같은지를 확인함
boolean isEmpty() 해당 컬렉션이 비어있는지를 확인함
Iterator<E> iterator() 해당 컬렉션의 반복자(iterator)를 반환함
boolean remove(Object o)
boolean remobeAll(Collection c)
해당 컬렉션에서 전달된 객체를 삭제함 (선택적 기능)
지정된 Collection에 포함된 객체들을 삭제 (차집합)
int size() 해당 컬렉션의 요소의 총 개수를 반환함
Object[] toArray() 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환함
boolean retainAll(Collection c) 지정된 Collection에 포함된 객체만을 남기고 나머지는 Collection에서 삭제 (교집합)

 

 

 

 Map 인터페이스 

  • 순서x, 중복(키x, 값o)
  • key와 value를 한쌍으로 저장
  • 대표적인 예 → id, pwd
  • 검색 추가 삭제

 

 

  • Map 인터페이스 메소드

 

메소드 설명
void clear() Map의 모든 객체를 삭제
boolean containsKey(Object key) 지정된 key객체와 일치하는 Map의 key객체가 있는지 확인
boolean containsValue(Object value) 지정된 value객체와 일치하는 Map의 value객체가 있는지 확인
Set entrySet() Map에 저장되있는 key-value쌍을 Map.Entry타입의 객체로 저장한 Set으로 반환
boolean equals(Object o) 동일한 Map인지 비교
Object get(Object key) 지정한 key객체에 대응하는 value객체를 찾아서 반환
int hashCode() 해시코드를 반환
boolean isEmpty() Map이 비어있는지 확인
Set keySet() Map에 저장된 모든 key객체를 반환
Object put(Object key, Object value) Map에 value객체를 key객체에 연결(mapping)하여 저장
void putAll(Map t) 지정된 Map의 모든 key-value쌍을 추가 
Object remove(Obejct key) 지정한 key객체와 일치하는 key-value객체를 삭제
int size() Map에 저장된 key-value쌍의 개수를 반환
Collection values() Map에 저장된 모든 value객체를 반환

 

 

 

 

collection class
컬레션 프레임워크에 속하는 인터페이스를 구현한 클래스

 


 

Collection 인터페이스

List와 Set 인터페이스의 공통 부분을 Collection 인터페이스에서 정의하고, 두 인터페이스는 그것을 상속받는다.

 

 

주요 메소드 

  • 메소드 주기능 - 추가, 검색, 삭제

 

메소드 설명
boolean add(E e)
boolean addAll(Collection c)
해당 컬렉션에 전달된 요소를 추가함 (선택적 기능)
void clear() 해당 컬렉션의 모든 요소 전체 삭제 (선택적 기능)
boolean contains(Object o) 해당 컬렉션이 전달된 객체를 포함하고있는지를 확인함
boolean equals(Object o) 해당 컬렉션과 전달된 객체가 같은지를 확인함
boolean isEmpty() 해당 컬렉션이 비어있는지를 확인함
Iterator<E> iterator() 해당 컬렉션의 반복자(iterator)를 반환함
boolean remove(Object o) 해당 컬렉션에서 전달된 객체를 삭제함 (선택적 기능)
int size() 해당 컬렉션의 요소의 총 개수를 반환함
Object[] toArray() 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환함

 

 

 add 사용 방법 

package pkg1;

import java.util.ArrayList;

public class Collection {
    public static void main(String[] args) {

        // 리스트 생성
        ArrayList<String> arrList = new ArrayList<String>();

        // 리스트에 요소의 저장
        arrList.add("셋");
        arrList.add("하나");
        arrList.add("둘");

        // 리스트 요소의 출력
        for (int i=0; i<arrList.size(); i++){
            System.out.println(arrList.get(i));

        }
    }
}

 

 결과 

 

반응형
profile

coding log

@iian

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!