Java collection

이민우·2023년 10월 24일
0

오늘은 Java 의 컬렉션에 대해 알아보도록 하겠다

컬렉션

  • 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합
  • 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현한것
  • 배열과는 다르게 동적으로 길이를 저장할 수 있다.

자료구조

  • 데이터를 효율적으로 구성, 저장 및 관리하기 위한 방법 이다.
  • 데이터를 구조화 하여 데이터의 삽입, 삭제, 검색 및 조작을 효율적으로 수행 하게 도와준다.

컬렉션의 종류

List

  • 순서가 있는 데이터 집합
  • 데이터의 중복을 허용

생성 및 선언

ArrayList<Integer> intList = new ArrayList<Integer>();

메소드
.add() - 값 추가
.get() - 값 읽기
.set(1, 10) 인덱스 1값을 10으로 변경
.remove() - 값 삭제
.clear() - 모든 값 삭제

Linked list

  • 메모리 남는 공간에 나누어서 실제 값을 저장
  • 실제 값이 있는 주소갑으로 목록을 구성하고 저장
  • 조회 속도가 느리지만 값을 추가하거나 삭제할 때 빠르다.

생성 및 선언

LinkedList<Integer> linkedList - new LinkedList<Integer>();

메소드
.add() - 값 추가
.get() - 값 읽기
.add(index, value) - 몇 번째 인덱스에 값 추가
.set(1, 10) 인덱스 1값을 10으로 변경
.remove() - 값 삭제
.clear() - 모든 값 삭제

Stack

  • 수직으로 값을 쌓아놓고 마지막에 쌓인 데이터 부터 뺀다 (FILO)
  • 최근 저장된 데이터를 나열하고 싶거나, 데이터의 중복 처리를 막고 싶을 때 사용

생성 및 선언

Stack<Integer> intStack = new Stack<Integer>();

메소드
.push() - 값 추가
.pop() - 가장 나중에 쌓은 값을 출력 출력된 값은 삭제
.peek() - 가장 나중에 쌓은 값을 출력 출력된 값은 삭제되지 않는다.

Queue

  • 먼저 넣은 데이터가 먼저 나간다 (FIFO)
  • 생성자가 없는 인터페이스

생성 및 선언

Queue<Integer> intQueue = new LinkedList<>();

메소드
.add() - 값 추가
.poll() 처음에 넣었던 값 을 출력후 출력된 값은 삭제
.peek() 처음에 넣었던 값 을 출력후 촐력된 값은 삭제 되지 않는다

Set

  • 순서가 없는 데이터 집합
  • 데이터 중복을 허용하지 않는다.
  • HashSet, TreeSet 등으로 응용해서 사용 가능
  • Set 은 생성자가 없어 생성자가 존재하는 HashSet() 을 이용해 구현한다.

생성 및 선언

Set<Integer> intSet = new HashSet(); 

메소드
.add() 값을 추가하지만 중복된 값을 추가하면 중복된 값은 추가하지 않는다.
.contains() 해당 값을 가지고 있는지 확인 (true/false)

Map

  • key - velue 형식
  • key 값으로 유니크하게 보장 되어야한다.
  • HashMap, TreeMap 으로 응용 가능

생성 및 선언

Map<String, Integer> intMap  = new HashMap<>(); 

메소드
.put("key값", value) 값 추가 key 값이 중볻되는 값을 추가할 시 마지막에 추가한 값으로 추가
.keySet() 키값을 출력
.value() value 값을 출력
.get("key값") key값에 해당하는 value를 출력

profile
개린이

0개의 댓글

관련 채용 정보