[JAVA] Collection
in Tech-Stack on JAVA
Contents
Collection
Collection์ด๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ์ํ ์งํฉ์ด๋ค.
Collection Framework : ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์๋๋ก ์ ์ํด ๋์ ํด๋์ค ์งํฉ
| Set | HashSet TreeSet | ๋น์์ฐจ์ ์ ์ฅ, ๋ฐ์ดํฐ ์ค๋ณต ๋ถ๊ฐ๋ฅ | |
|---|---|---|---|
| Map | HashMap TreeMap Hashtable | ๋น์์ฐจ์ ์ ์ฅ, ๋ฐ์ดํฐ ์ค๋ณต ๊ฐ๋ฅ | - key, value๋ฅผ ํจ๊ป ์
๋ คํด์ผ ํ๋ค. - key๋ง ์๋ฉด value์ ๋ฐ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํจ |
| List | LinkedList Vector ArrayList | ์์ฐจ์ ์ ์ฅ, ๋ฐ์ดํฐ ์ค๋ณต ๊ฐ๋ฅ |
- HASH๋ฅผ ์ฌ์ฉํ๋ฉด ์๋๊ฐ ๊ฐ์ฅ ๋น ๋ฅธ Collection์ ์ฌ์ฉํ ์ ์๋ค.
1. List
- ArrayList
add(idx, val): index๋ฅผ ์ ๋ ฅํ๋ฉด ํด๋น ์๋ฆฌ์ ๊ฐ์ ์ถ๊ฐํ๊ณ ๊ธฐ์กด์ ์๋ ๊ฐ๋ค์ ๋ค๋ก ํ ์นธ์ฉ ๋ฏธ๋ฃฌ๋ค.
- index๋ฅผ ์
๋ ฅํ์ง ์์ผ๋ฉด ๋งจ ๋ง์ง๋ง์ ๊ฐ ์ถ๊ฐ -
set(idx, val): ํด๋น index์ ๊ฐ์ val๋ก ๋ฐ๊พผ๋ค. - ํด๋น index์ ๊ฐ์ด ์กด์ฌํ์ง ์์ผ๋ฉด error ๋ฐ์(
IndexOutOfBoundsException) -remove(index): ํด๋น index์ ๊ฐ์ ์ ๊ฑฐํ๋ค. - ์ ๊ฑฐํ ๊ฐ์ ๋ฐํํจ -
clear(): ArrayList์ ๋ชจ๋ ๊ฐ์ ์ ๊ฑฐํ๋ค.(์ด๊ธฐํ) -contains(val): value๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๊ณ boolean ํ์ ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ค๋ค. -indexOf(val): value๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ฐ์ด ์กด์ฌํ๋ index๋ฅผ ๋ฐํํ๊ณ ์กด์ฌํ์ง ์์ผ๋ฉด -1์ ๋ฐํํ๋ค.
2. Map
key์ value๋ฅผ mapping ์์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.
์ ๋ค๋ฆญ(Generic)์ 2๊ฐ๋ฅผ ์
๋ ฅํ ์ ์๋ค. <key ์๋ฃํ, value ์๋ฃํ>
์์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด key์ ์ค๋ณต์ ํ์ฉ๋์ง ์๊ณ value์ ์ค๋ณต์ ํ์ฉ๋๋ค.
- HashMap
- TreeMap
- HashTable(์์ฒด ์๋ํ ์ฒ๋ฆฌ ์ ์ฉ)
๋์ผํ key๋ก ๊ฐ์ ๋ฃ์ผ๋ฉด value๊ฐ ๋์ฒด๋๋ค.
key๋ง ๋ฃ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ value์๋ null์ ๋ฃ์ผ๋ฉด ๋๋ค.
Method
elements(): value๋ค๋ง ๋ฌถ์ด์ ๋ฐํํด์ค๋ค.keys(): key๋ค๋ง ๋ฌถ์ด์ ๋ฐํํด์ค๋ค.keySet(): Set ์๋ฃํ์ผ๋ก key๋ค์ ๋ฌถ์ด์ ๋ฐํํด์ค๋ค.- ๋ฐํ ๊ฐ์ Set์ผ๋ก ๋ฐ์์
itertator()๋ฅผ ํตํด ๊ฐ์ ํ๋์ฉ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ฐํ ๊ฐ์ Set์ผ๋ก ๋ฐ์์
