Notice
Recent Posts
Recent Comments
Link
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

seaking110 님의 블로그

컬랙션이란? 본문

Today I Learned

컬랙션이란?

seaking110 2025. 1. 2. 13:59

 

Collection 이란

  • 자바에서 컬렉션 프레임워크란,즉, 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은 것.
  • 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다.
  • 기본형 변수가 아닌 참조형 변수를 저장한다!

 

  • List : 순서가 있는 데이터 집합
    • 배열과 비슷하다. (다른 점은 최초의 길이를 몰라도 가능 -> 동적 배열이라 크기가 가변적으로 변해서 가능)
    • 중복을 허용
    • ArrayList 
// 선언
ArrayList <데이터 타입 T>  list = new ArrayList<데이터 타입 T>();

// 값 추가
list.add(10)
list.add(20)

// 값 얻어오기
list.get(1) // 20,  1은 인덱스 값

// 값 변경
list set(1,30)
list.get(1) //30

// 값 삭제
list.remove(1)

//값 전체 삭제
list.clear();

 

  • LinkedList
    • 기본적인 기능은 ArrayList 와 동일
    • 값을 메모리의 빈 곳에 나눠서 저장한다
    • 따라서 조회하는 속도는 느리지만 값을 추가하거나 삭제할 때는 빠르다!
// 선언
LinkedList <데이터 타입 T>  list = new LinkedList<데이터 타입 T>();

// 값 추가
list.add(10)
list.add(20)

// 값 얻어오기
list.get(1) // 20,  1은 인덱스 값

// 값 변경
list set(1,30)
list.get(1) //30

// 값 삭제
list.remove(1)

//값 전체 삭제
list.clear();
  • Queue : 한쪽에서 데이터를 넣고 반대쪽에서 데이터를 빼는 집합
    • 선입 선출 (FIFO) 구조
// 선언
// 큐는 생성자가 없는 인터페이스
Queue <데이터 타입 T> q = new LinkedList<데이터 타입 T>();

// 값 추가
q.add(10);
q.add(20);
q.add(30);

// top 값 조회
st.peek() // 가장 처음에 들어간 값 10

// 값이 삭제되며 출력
st.poll(); // 10
  • Stack : 가장 나중에 들어간게 가장 먼저 나오는 구조의 집합
    • 후입 선출 (FILO) 구조
// 선언
Stack <데이터 타입 T> st = new Stack<데이터 타입 T>();

// 값 추가
st.push(10);
st.push(20);
st.push(30);

// top 값 조회
st.peek() // 가장 마지막에 들어간 값 30

// 값이 삭제되며 출력
st pop(); // 30
  • Set : 순서가 없는 데이터의 집합
    • 중복을 허용하지 않음
    • 메소드 설명
      boolean add(Object o)
      boolean addAll(Collection c)
      지정된 객체 또는 Collection의 객체들을 Collection에 추가
      void clear() Collection의 모든 객체를 삭제
      boolean isEmpty() Collection이 비어있는지 확인
      int size() Collection에 저장된 객체의 개수
      Object [] toArray() Collection에 저장된 객체를 배열로 변환
      boolean contains(Object o) Collection에 o 요소를 포함하고 있는지 반환
      Iterator<E> iterator() Collection에 저장된 데이터를 반복출력하기 위한 Iterator 인터페이스 반환
      boolean remove(Object o)
      boolean removeAll(Collection c)
      지정된 객체 또는 Collection에 포함된 객체들을 삭제

 

  • Map : 순서가 없는 (Key, Value) 쌍으로 이루어진 데이터 집합
    • Key 값은 중복을 허용하지 않음
    • 메소드 설명
      put(Object key, Object value)
      putAll(Map m)
      key와 그에 해당되는 value 객체를 저장
      V get(key) key에 해당되는 value 반환
      V remove(key) key에 해당되는 value 삭제
      void clear() Map의 모든 객체 삭제
      boolean isEmpty() Map이 비어있는지 확인
      int size() Map에 저장된 객체의 개수
      Set<K> keySet() Map에 저장된 모든 key를 Set에 저장해서 반환
      Set<Entry<K,V>> entrySet() Map에 저장된 모든 key와 value를 Entry(key와 value의 결합) 타입으로 Set에 저장해서 반환
      Collection<V> values() Map에 저장된 모든 value를 Collection으로 반환
      boolean containsKey(key) Map에 지정된 key가 있는지 boolean 반환
      boolean containsValue(value) Map에 지정된 value가 있는지 boolean 반환

 

 

 

 

 

 

 


추가로 배운점

String 과 char 배열과의 간단한 변경

//String -> char[]

char[] strCharArray = str.toCharArray();



//char[] - > String

String s = new String(strCharArray);

'Today I Learned' 카테고리의 다른 글

예외 처리!  (2) 2025.01.03
객체지향 프로그래밍 이란?  (1) 2025.01.02
JAVA란?  (2) 2024.12.31
온보딩 프로젝트를 마치며  (0) 2024.12.30
241227 TIL (DFS를 이용한 중복 순열, 순열, 조합구하기)  (1) 2024.12.27