2022 / 9 / 28 수
- Set 컬렉션
- Map 컬렉션
- 이진 트리
- 스택 & 큐
✔ Set 컬렉션
Set 컬렉션
객체를 중복해서 저장할 수 없으며, 하나의 null만 저장이 가능하다.
set 컬렉션은 마치 구슬 주머니와도 같다고 볼 수 있다.
동일한 구슬은 넣지 못하고, 넣는 순서와 나오는 순서가 다를 수 도 있기에 ~
Set 컬렉션에는 HashSet / LinkedHashSet / TreeSet 가 있다.
HashSet
ArrayList를 생성하기 위해서는 다음과 같이 생성할 수 있다.
Set <String> set = new HashSet <String> ( );
< > 안에 원하는 객체 타입을 타입 파라미터로 표기한다.
ex) <String> / <Integer>
✔ Map 컬렉션
Map 컬렉션
키와 값으로 구성된 Entry 객체를 저장하는 구조를 갖는다.
키는 중복 저장을 할 수 없지만
값은 중복 저장이 가능하다 !
Map 컬렉션에선 HashMap / Hashtable / LinkedHashMap / Properties / TreeMap 가 있다.
HashMap
키 타입은 String을 많이 사용한다.
Map < k , v > map = new HashMap < k, v > ( );
k 에는 키타입, v 에는 값타입을 넣어준다.
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
// 데이터저장
map.put("감자깡", 85);
map.put("새우깡", 125);
map.put("고구마깡", 60);
map.put("새우깡", 125); // 새우깡이라는 key가 중복되어 95가 저장되어있음.
System.out.println("총 Entry 수 :" + map.size());
// 데이터읽기(객체 찾기)
System.out.println("\t새우깡:" + map.get("새우깡"));
System.out.println();
}
}

Hashtable
키 객체를 만드는 방법은 HashMap과 동일하다.
Map < k , v > map = new HashMap < k, v > ( );
✨ Hashtable은 동기화된 메소드로 구성되어 있기 때문에 멀티 스레드가 동시에 메소드를 실행할 수 없고,
하나의 스레드가 실행을 완료해야만 다른 스레드를 실행 할 수 있다.
Properties
Properties는 Hashtable의 하위 클래스로 Hashtable의 모든 특징을 갖는다.
BUT !
Hashtable 와의 차이점은 키와 값을 String 타입으로 제한한 점이라는 것
✨프로그램의 옵션 정보, 데이터베이스 연결 정보, 국제화 정보가 저장된 프로퍼티파일을 읽을때 주로 사용된다.
프로퍼티 파일이 뭐야? (~.properties)
프로그램에서 주로 변경이 잦은 문자열을 저장하여 유지 보수를 편하게 만들어준다.
키와 값이 = 기호로 연결되어 있는 텍스트 파일로 ISO 8859-1 문자셋으로 저장
한글은 유니코드로 변환되어 저장
예를들어 contry 와 language키로 각각 한국과 한글을 입력하면 자동으로 유니코드로 변환되어 저장 된다.
✔ 이진트리
이진 트리 구조란?
이진 트리는 여러개의 노드가 트리 형태로 연결된 구조로
루트 노드라고 불리는 하나의 노드에서 각 노드에 최대 2개의 노드를 연결할 수 있는 구조를 갖는다.
✨ 트리는 부모 노드와 자식 노드로 구성되며
왼쪽 자식노드는 부모보다 작은값을 오른쪽 자식 노드는 부모보다 큰 값을 갖는다.
Ex ) 부모노드 A = 6 / 자식노드 B = 3 , C = 9
올림 차순 : 왼쪽 자식 노드 -> 부모 노드 -> 오른쪽 자식노드
내림 차순 : 오른쪽 자식 노드 -> 부모 노드 -> 왼쪽 자식노드
TreeSet
왼쪽과 오른쪽 자식 노드를 참조하기 위한 두개의 변수로 구성되어있다.
TreeMap
키와 값이 저장된 Map.Entry를 저장한다.
키 값이 낮은것은 왼쪽 자식노드, 키 값이 높은것은 오른쪽 자식노드에 Map.Entry 객체를 저장
✔ 스택 & 큐
https://gogohh13.tistory.com/32
[D + 22] 스택 / 환영큐
2022/08/19 금 Stack Queue ✔️Stack 선입후출 형태의 자료구조 더보기 const max = 5; //데이터 개수의 최대치 const stack =[]; //스택 자료구조 let sp = 0; // stack pointer let count = 0; // state..
gogohh13.tistory.com
'🏃♀️ Do it ! > TIL' 카테고리의 다른 글
람다식 / 클래스 멤버와 로컬 변수 사용 / 표준 API 함수적 인터페이스 (0) | 2022.09.30 |
---|---|
제네릭 / 멀티 타입 파라미터 / 제네릭 메소드 / 버블 소트 (0) | 2022.09.30 |
스레드 그룹 / 스레드폴 / 컬렉션 프레임워크 (0) | 2022.09.27 |
스레드 상태 / 데몬 스레드 (0) | 2022.09.26 |
프로세스 / 스레드 / 동기화 메소드, 동기화 블록 (0) | 2022.09.23 |