본문 바로가기
JAVA

[자바 ⑪] 자바 JAVA 이론 (자료구조 / List / Set / Map / Collection)

by 비전공자 기록광 2021. 6. 28.
반응형

2021.06.17 - [IT 독학/JAVA] - [자바 ①] 자바 JAVA 이론 (객체지향언어 / 변수 / 연산자)

2021.06.18 - [IT 독학/JAVA] - [자바 ②] 자바 JAVA 이론 (제어문 / 조건문 / 반복문 / 분기문 )

2021.06.18 - [IT 독학/JAVA] - [자바 ③] 자바 JAVA 이론 (배열)

2021.06.19 - [IT 독학/JAVA] - [자바 ④] 자바 JAVA 이론 (객체 / 클래스 / 메소드 )

2021.06.19 - [IT 독학/JAVA] - [자바 ⑤] 자바 JAVA 이론 (객체의 특징 / 추상화 / 캡슐화 / 상속 / 다형성 )

2021.06.22 - [IT 독학/JAVA] - [자바 ⑥] 자바 JAVA 이론 (오버로딩 / 오버라이딩)

2021.06.22 - [IT 독학/JAVA] - [자바 ⑦] 자바 JAVA 이론 (추상 메소드 / 추상 클래스 / 인터페이스 )

2021.06.22 - [IT 독학/JAVA] - [자바 ⑧] 자바 JAVA 이론 (API)

2021.06.28 - [IT 독학/JAVA] - [자바 ⑨] 자바 JAVA 이론 (예외처리)

2021.06.28 - [IT 독학/JAVA] - [자바 ⑩] 자바 JAVA 이론 (입출력 / IO / Input / Output)

 

 

 

자료구조

자료구조는 자료를 구조적으로 처리하는 방법을 말한다.

 

컬렉션 Collection

컬렉션은 자바에서 제공하는 기본 자료구조 프레임워크이다. (java.util 패키지에 포함)

배열과 비슷한 개념이지만 배열은 한번 크기를 지정하면 변경할 수 없고 구조 처리가 복잡하다는 면에서 배열과 함께 컬렉션을 많이 쓴다. 

 

컬렉션의 주요 인터페이스

  • List
  • Set
  • Map

 

List

list는 배열처럼 인덱스로 관리하며 순서가 있다. 중복 저장이 가능한 것이 특징이다.

 

 

List 계열의 클래스

  • ArrayList : 객체 배열로 그냥 배열(Array)와 달리 메소드로 접근한다.
  • Vector : 동기화(특정 데이터가 사용되는 동안 다른 스레드는 접근하지 못하게 막는 기능)를 제공하는 리스트 
  • LinkedList : 앞뒤로 인접하는 인덱스를 연결해 체인처럼 관리하는 리스트이다. 

 

 

Set

set은 집합처럼 인덱스 저장에 순서(인덱스)가 없다. 중복 저장이 안되는 것이 특징이다.

 

Set 계열 클래스

  • TreeSet
  • HashSet : hash함수를 사용해 Set에 객체 저장 > 처리 속도 빠름
  • LinkedHashSet

 

 

+ Hash 함수

해시함수는 임의의 길이의 데이터를 입력받아 고정 길이의 데이터로 출력해주는 함수이다.

 

해시(Hash) 알고리즘의 개념과 정의 [자바(Java)로 이해하는 블록체인 이론과 실습 4강] 캡쳐

+ 참고

https://youtu.be/ICQygMlDmKk

 

 

Map

map은 키(Key)와 값(Value) 세트로 구성되어 있다. 여기서 키는 중복 저장이 안되고, 값은 중복 저장이 가능하다. 

 

 

Map 계열 클래스

  • HashMap : Map에서 가장 기본적인 구현
  • HashTable
  • LinkedHashMap
  • TreeMap
  • Properties : *.properties 파일로 주로 사용
반응형

댓글