조종 다음은 개발
article thumbnail

🚀 컬렉션 프레임워크(Collection Framework)란?

자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있도록 표준화된 방법을 제공하는 클래스의 집합을 말한다.

즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현한 것이다.

이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현된다.

⭐️ 주요 인터페이스

https://crazykim2.tistory.com/557

  • List 인터페이스
  • Set 인터페이스
  • Map 인터페이스

인터페이스 설명 구현 클래스

List<E> 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함. Vector, ArrayList, LinkedList, Stack, Queue
Set<E> 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음. HashSet, TreeSet
Map<K, V> 키와 값의 한 쌍으로 이루어지는 데이터의 집합으로, 순서가 없음.  
이때 키는 중복을 허용하지 않지만, 값은 중복될 수 있음. HashMap, TreeMap, Hashtable, Properties  

Map 은 Collection을 상속받지 않는다?

이중, List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상 차이(Key-Value 구조)로 Map 인터페이스는 별도로 정의된다. 따라서, List 인터페이스와 Set 인터페이스의 공통된 부분을 Collection 인터페이스에서 정의하고 있다.

🎯 Collection 을 사용하는 이유

1. 일관된 API 제공

Collection의 일관된 API를 사용하여 Collection을 상속받는 모든 클래스에서 통일된 메서드를 사용할 수 있다.

2. 알고리즘 고민 감소

추상화를 통해 공통된 메서드를 제공하기 때문에 데이터 추가, 제거 등과 같은 기본적인 메서드를 구현할 필요가 없다. 따라서 애플리케이션 설계 및 개발에 집중할 수 있다.

3. 프로그램 속도 및 품질 향상

자주 사용되는 메서드를 최적화하여 미리 구현되어 있기 때문에 유용한 데이터 구조 및 알고리즘은 성능을 향상할 수 있다.

❓기존 배열과 다른점이 뭐야?

여기서 배열과 유사한 자료구조인 List의 차이점에 대해서 알고 가자.

배열

  • 배열 선언 시 크기가 고정되어 있다.
  • 연속적인 데이터라서 메모리 관리에 유용하다.
  • 크기 확장(또는 삽입)이 불편한다. 크기 확장을 하고자 한다면 크기가 배열을 새롭게 선언하고 기존의 값을 복사해야 한다.
  • 크기를 변경할 수 없기 때문에 중간에 데이터를 삭제하면 데이터 낭비가 발생한다.

List

  • 크기를 유연하겨 변경할 수 있다.
  • 데이터를 중간에 삽입, 삭제가 편리하다.
  • 불연속 데이터로 포인터를 통해 접근한다.
  • 빈틈없는 데이터 적재로 필요한 메모리만큼 차지한다.

🌐 Reference

코딩교육 티씨피스쿨

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

[JAVA] 컬렉션(Collection)이란?(추가 : Collecion의 요소 상세설명)

 

[JAVA] 컬렉션(Collection)이란?(추가 : Collecion의 요소 상세설명)

안녕하세요 이번 포스팅에서는 자바의 컬렉션(Collection)에 대해서 알아보겠습니다 Collection은 많이 사용되지만 정확하게 어떤 것인지는 저도 모른채로 사용을 했습니다 이번 포스팅을 하면서 제

crazykim2.tistory.com

컬렉션을 쓰는 이유

 

컬렉션을 쓰는 이유

오늘은 컬렉션에 대해서 알아보겠다. 그러려면 우선 Collection이 뭔지부터 알아보자. 오늘도 equals 포스팅과 같이 내가 궁금했던 점들을 물음표 형식으로 풀어나갈 것이다. Collection이 뭔가? 단순히

olivejua-develop.tistory.com

 

profile

조종 다음은 개발

@타칸

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