Chapter 11 - ์ปฌ๋ ์ ํ๋ ์์
1. ์ปฌ๋ ์ ํ๋ ์์(Collections Framework)
- ์ปฌ๋ ์
ํ๋ ์์ :
๋ฐ์ดํฐ ๊ตฐ์ ์ ์ฅํ๋ ํด๋์ค๋ค์ ํ์คํํ ์ค๊ณ
- JDK 1.2 ์ด์ ๊น์ง๋ Vector, Hashtable, Properties์ ๊ฐ์ ์ปฌ๋ ์
ํด๋์ค ์กด์ฌ
- ๊ฐ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ
- JDK 1.2๋ถํฐ ์ปฌ๋ ์
ํ๋ ์์์ด ๋ฑ์ฅ
- ๋ชจ๋ ํด๋์ค๋ค์ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ๋ค๋ฃฐ ์ ์๋๋ก ์ฒด๊ณํ
- ์ธํฐํ์ด์ค & ๋คํ์ฑ์ ์ด์ฉํ ๊ฐ์ฒด์งํฅ์ ์ค๊ณ
1.1 ์ปฌ๋ ์ ํ๋ ์์์ ํต์ฌ ์ธํฐํ์ด์ค
- 3๊ฐ์ง ํ์
์ผ๋ก ๊ตฌ๋ถ
- List, Set, Map
- List์ Set์ ๊ณตํต๋ ๋ถ๋ถ์ ๋ค์ ๋ฝ์์ ์ธํฐํ์ด์ค์ธ Collection์ ์ถ๊ฐ๋ก ์ ์
- List -> Collection <- Set, Map
- List
- ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ & ๋ฐ์ดํฐ์ ์ค๋ณต ํ์ฉ
- ์) ๋๊ธฐ์ ๋ช ๋จ
- ๊ตฌํ ํด๋์ค : ArrayList, LinkedList, Stack, Vector ๋ฑ
- Set
- ์์๋ฅผ ์ ์งํ์ง ์๋ ๋ฐ์ดํฐ์ ์งํฉ & ๋ฐ์ดํฐ์ ์ค๋ณต ํ์ฉ X
- ์) ์์ ์ ์์งํฉ, ์์์ ์งํฉ
- ๊ตฌํ ํด๋์ค : HashSet, TreeSet ๋ฑ
- Map
- ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ์งํฉ, ์์๋ ์ ์ง X, ํค๋ ์ค๋ณต X, ๊ฐ์ ์ค๋ณต ํ์ฉ
- ์) ์ฐํธ๋ฒํธ, ์ง์ญ๋ฒํธ
- ๊ตฌํ ํด๋์ค : HashMap, TreeMap, Hashtable, Properties ๋ฑ
- Vector๋ Hashtable๊ณผ ๊ฐ์ ๊ธฐ์กด์ ์ปฌ๋ ์ ํด๋์ค๋ค์ ํ๋ ์์ ๋ช ๋ช ๋ฒ์ ๋ฐ๋ฅด์ง ์์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์
Collection ์ธํฐํ์ด์ค
- List์ Set์ ์กฐ์
- ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ , ์ถ๊ฐํ๊ณ ์ญ์ ํ๋ ๋ฑ ์ปฌ๋ ์ ์ ๋ค๋ฃจ๋๋ฐ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฉ์๋๋ค์ ์ ์
- ์คํธ๋ฆผ, ์ ๋ค๋ฆญ์ค ๋ฑ๋ ์ฌ์ฉ๋จ
List ์ธํฐํ์ด์ค
์ค๋ณต์ ํ์ฉ
ํ๋ฉด์์ ์ฅ์์๊ฐ ์ ์ง
๋๋ ์ปฌ๋ ์ ์ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ- Vector, ArrayList, LinkedList ๋ฑ์ด ์์ ํด๋์ค
Set ์ธํฐํ์ด์ค
์ค๋ณต์ ํ์ฉํ์ง ์๊ณ ์ ์ฅ์์๊ฐ ์ ์ง๋์ง ์๋
์ปฌ๋ ์ ํด๋์ค๋ฅผ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ- Set์ ๊ตฌํํ ํด๋์ค๋ก๋ HashSet, TreeSet ๋ฑ์ด ์์
- HashSet -> Set <- SortedSet <- TreeSet
Map ์ธํฐํ์ด์ค
ํค์ ๊ฐ์ ํ๋์ ์์ผ๋ก ๋ฌถ์ด์ ์ ์ฅํ๋
์ปฌ๋ ์ ํด๋์ค๋ฅผ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ- ํค๋ ์ค๋ณต X
- ๊ฐ์ ์ค๋ณต์ ํ์ฉ
- ์ค๋ณต๋ ํค์ ๊ฐ์ ์ ์ฅํ ์ ๊ธฐ์กด์ ๊ฐ์ ์์ด์ง๊ณ ๋ง์ง๋ง์ ์ ์ฅ๋ ๊ฐ๋ง ๋จ๊น
- ๊ตฌํ ํด๋์ค๋ก๋ Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap ๋ฑ์ด ์์
- value()(์ ์ฅ๋ ๋ชจ๋ ๊ฐ ๋ฐํ) ์์๋ ๋ฐํ ํ์
์ด Collection, keySet()(์ ์ฅ๋ ๋ชจ๋ ํค ๋ฐํ)์์๋ ๋ฐํํ์
์ด Set์ธ ๊ฒ์ ์ฃผ์
- ๊ฐ์ ์ค๋ณต์ ํ์ฉํ๊ณ ํค๋ ์ค๋ณต์ ํ์ฉํ์ง ์๋ ์์ฑ ๋๋ฌธ
Map.Entry ์ธํฐํ์ด์ค
- Map ์ธํฐํ์ด์ค์ ๋ด๋ถ ์ธํฐํ์ด์ค
- Map์ ์ ์ฅ๋๋ key-value ์์ ๋ค๋ฃจ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ ์ ๋ ์ธํฐํ์ด์ค
- equals(), getKey(), getValue(), hashCode(), setValue() ๋ฑ์ ๋ฉ์๋๊ฐ ์กด์ฌ
1.2 ArrayList
- List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ
- ์ ์ฅ์์ ์ ์ง, ์ค๋ณต ํ์ฉ
- ๊ธฐ์กด์ Vector๋ฅผ ๊ฐ์ ํ ๊ฒ
- ๊ตฌํ์๋ฆฌ & ๊ธฐ๋ฅ์ ์ธ ์ธก๋ฉด์ ๋์ผ
- ์์ค์ ํธํ์ฑ์ ์ํด ๋ง๋ค์ด์ง
- Object ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ ์ฅ
- ์ ์ธ๋ ๋ฐฐ์ด์ ํ์ ์ด ๋ชจ๋ ๊ฐ์ฒด์ ์ต๊ณ ์กฐ์์ธ Object
- Collections ํด๋์ค์ sort ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ์ ์ฅ๋ ๊ฐ์ฒด๋ค์ ์ ๋ ฌ ๊ฐ๋ฅ
- ์์๋ค์ ์ฐพ์์ ์ญ์ ์ ๊ฑฐ๊พธ๋ก ์ํํ๋ฉด์ ์ญ์ ํ ๊ฒ
- ๋น ๊ณต๊ฐ์ด ์๊ธฐ๋ฉด ์ฑ์ฐ๊ธฐ ์ํด ๋๋จธ์ง ์์๋ค์ด ์๋ฆฌ์ด๋์ ํ๋ฏ๋ก
- ์ค์ ์ ์ฅํ ๊ฐ์๋ณด๋ค ์ฝ๊ฐ ์ฌ์ ์๋ ํฌ๊ธฐ๋ก ์ ์ธํ ๊ฒ
- ์๋์ ์ผ๋ก ์ ์ฅ ํฌ๊ธฐ๋ฅผ ๋๋ ค์ฃผ๋ ๊ณผ์ ์ด ์ฒ๋ฆฌ์๊ฐ์ด ๋ง์ด ์์๋๋ฏ๋ก
- vector์ ์ฉ๋๊ณผ ํฌ๊ธฐ
- v.trimToSize()๋ size์ capacity๋ฅผ ๊ฐ๊ฒ ๋ง๋ฌ
- v.ensureCapacity(n)์์ n์ด ๊ธฐ์กด์ capacity๋ณด๋ค ํฌ๊ธฐ๊ฐ ํฌ๋ค๋ฉด ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑ ํ ํ ๋น
- v.setSize(n)์์ capacity๊ฐ ์ถฉ๋ถํ์ง ์๋ค๋ฉด ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑ ํ ํ ๋น (์๋์ ์ผ๋ก ๊ธฐ์กด์ ํฌ๊ธฐ๋ณด๋ค 2๋ฐฐ๋ก capacity๋ฅผ ์ฆ๊ฐ์ํจ ๊ฐ์ฒด ์์ฑ)
- v.clear()๋ ๋ชจ๋ ์์๋ฅผ ์ ๊ฑฐ(capacity๋ ์ ์ง, ๋ชจ๋ ๊ณต๊ฐ์ ๋ค null)
- ArrayList, Vector์ ๊ฐ์ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๊ณ ์ ์ฅํ๋ ๋ฐ๋ ํจ์จ์ด ์ข์ง๋ง ์ฉ๋์ ๋ณ๊ฒฝํ๋ ๊ณผ์ ์ ํจ์จ์ด ๋จ์ด์ง
- Object remove(int index)
- ์ง์ ๋ ์์น์ ์๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๊ณ ์ญ์ ํ ๊ฐ์ฒด๋ฅผ ๋ฐํ
- ์ญ์ ํ ๊ฐ์ฒด์ ๋ฐ๋ก ์๋ ์๋ ๋ฐ์ดํฐ๋ฅผ ํ ์นธ์ฉ ์๋ก ๋ณต์ฌํ ์ญ์ ํ ๊ฐ์ฒด๋ฅผ ๋ฎ์ด์ฐ๋ ๋ฐฉ์ (System.arraycopy๋ฅผ ํธ์ถ)
- ์ธ๋ฑ์ค๊ฐ n์ธ ๋ฐ์ดํฐ์ ์ฃผ์ = ๋ฐฐ์ด์ ์ฃผ์ + n * ๋ฐ์ดํฐ ํ์ ์ ํฌ๊ธฐ
- ArrayList๋ LinkedList์ ๋นํด ์ฝ๊ธฐ(์ ๊ทผ์๊ฐ)๋ ๋น ๋ฅด๊ณ ์ถ๊ฐ/์ญ์ ๋ ๋๋ฆผ (์์ฐจ์ ์ธ ์ถ๊ฐ์ญ์ ๋ ๋ ๋น ๋ฆ), ๋นํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ
1.3 LinkedList
- ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ ์ฅ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๋งํฌ๋ ๋ฆฌ์คํธ ๊ณ ์
- ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํด์ผํจ
- ๋น์์ฐจ์ ์ธ ๋ฐ์ดํฐ์ ์ถ๊ฐ ๋๋ ์ญ์ ์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆผ
- ๊ฐ ์์๋ค์ ์์ ๊ณผ ์ฐ๊ฒฐ๋ ๋ค์ ์์์ ๋ํ ์ฐธ์กฐ์ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ
- ๋ฐ์ดํฐ ์ด๋์ ์ํ ๋ณต์ฌ ๊ณผ์ ์ด ์์ผ๋ฏ๋ก ์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฆ
- ๋ฐ์ดํฐ ์ญ์ ๋ ์ด์ ๋ฐ์ดํฐ๊ฐ ์ญ์ ํ๊ณ ์ ํ๋ ์์์ ๋ค์ ์์๋ฅผ ์ฐธ์กฐํ๋๋ก
- ๋ฐ์ดํฐ ์ถ๊ฐ๋ ์ถ๊ฐํ๊ณ ์ ํ๋ ์์น์ ์ด์ ์์์ ์ฐธ์กฐ๋ฅผ ์๋ก์ด ์์์, ์๋ก์ด ์์๊ฐ ๊ทธ ๋ค์ ์์๋ฅผ ์ฐธ์กฐํ๋๋ก
- ์ด์ ์์ ๋ํ ์ ๊ทผํ ์ ์๋๋ก ๊ตฌํ๋๊ฒ์ด ๋๋ธ ๋งํฌ๋ ๋ฆฌ์คํธ(์ด์ค ์ฐ๊ฒฐ๋ฆฌ์คํธ)
- ๋ค์ ์์์ ์ฃผ์, ์ด์ ์์์ ์ฃผ์, ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ
- ๋๋ธ ๋งํฌ๋ ๋ฆฌ์คํธ์ ์ ๊ทผ์ฑ์ ํฅ์์ํจ ๊ฒ์ด ๋๋ธ ์จํ๋ฌ ๋งํฌ๋ ๋ฆฌ์คํธ(์ด์ค ์ํ ์ฐ๊ฒฐ๋ฆฌ์คํธ)
- ์ฒซ ๋ฒ์งธ ์์์ ๋ง์ง๋ง ์์๋ฅผ ์๋ก ์ฐ๊ฒฐ์ํจ ๊ฒ
- ์๋ฐ์ LinkedList๋ ๋๋ธ ๋งํฌ๋ ๋ฆฌ์คํธ๋ก ๊ตฌํ๋์ด ์์
- ๋ฎ์ ์ ๊ทผ์ฑ์ ๋์ด๊ธฐ ์ํด
- ์์ฐจ์ ์ผ๋ก ์ถ๊ฐ/์ญ์ ํ๋ ๊ฒฝ์ฐ์ ArrayList๊ฐ LinkedList๋ณด๋ค ๋น ๋ฆ
- ArrayList์ ๊ฐ ์์๋ค์ ๋ฐ์ดํฐ ์ฌ๋ฐฐ์น๊ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ
- ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ/์ญ์ ํ๋ ๊ฒฝ์ฐ์๋ LinkedList๊ฐ ArrayList๋ณด๋ค ๋น ๋ฆ
- ArrayList๋ ๊ฐ ์์๋ค์ ์ฌ๋ฐฐ์น ํ ์ถ๊ฐํ ๊ณต๊ฐ์ ํ ๋นํด์ผํ์ง๋ง LinkedList๋ ๊ฐ ์์์ ์ฐ๊ฒฐ๋ง ๋ณ๊ฒฝํด์ฃผ๋ฉด ๊ฐ๋ฅ
- LinkedList๋ ArrayLIst์ ๋นํด ์ฝ๊ธฐ(์ ๊ทผ์๊ฐ)๋ ๋๋ฆฌ๊ณ ์ถ๊ฐ/์ญ์ ๋ ๋๋ฆฌ๋ฉฐ ๋ฐ์ดํฐ๊ฐ ๋ง์ ์๋ก ์ ๊ทผ์ฑ์ด ๋จ์ด์ง๋ ๋จ์ ์ด ์๋ค.
1.4 Stack๊ณผ Queue
- ์คํ์ ๋ง์ง๋ง์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ LIFO(Last In First Out) ๊ตฌ์กฐ
- ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๊ณ ์ญ์ ํ๊ธฐ ๋๋ฌธ์ ArrayList์ ๊ฐ์ ๋ฐฐ์ด๊ธฐ๋ฐ์ ์ปฌ๋์ ์ด ์ ํฉ
- ์๋ฐ์์ Stack ํด๋์ค ๊ตฌํํ์ฌ ์ ๊ณต
- ํ๋ ์ฒ์์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ด๊ฒ ๋๋ FIFO(First In First Out) ๊ตฌ์กฐ
- ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ผ ๋ ํญ์ ์ฒซ ๋ฒ์งธ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ฏ๋ก LinkedList๋ก ๊ตฌํ์ด ์ ํฉ(ArrayList๋ ์ฒซ ๋ฒ์งธ ์์ ์ญ์ ์ ์ฌ๋ฐฐ์น๋ฅผ ํด์ผํ๋ฏ๋ก)
- ์๋ฐ์์ Queue ์ธํฐํ์ด์ค๋ง ์กด์ฌ, ๊ตฌํํ ํด๋์ค๋ฅผ ์ ํํด์ ์ฌ์ฉ
์คํ๊ณผ ํ์ ํ์ฉ
- ์คํ
์ ํ์ฉ ์
- ์์ ๊ณ์ฐ, ์์ ๊ดํธ ๊ฒ์ฌ, ์๋ํ๋ก์ธ์์ undo/redo, ์น๋ธ๋ผ์ฐ์ ์ ๋ค๋ก/์์ผ๋ก
- ํ์ ํ์ฉ ์
- ์ต๊ทผ ์ฌ์ฉ ๋ฌธ์, ์ธ์์์ ๋๊ธฐ๋ชฉ๋ก, ๋ฒํผ
PriorityQueue
- Queue์ ์ธํฐํ์ด์ค ๊ตฌํ์ฒด ์ค ํ๋
- ์ ์ฅํ ์์์ ๊ด๊ณ์์ด ์ฐ์ ์์๊ฐ ๋์ ๊ฒ๋ถํฐ ๊บผ๋ธ๋ค.
- null์ ์ ์ฅ ํ ์ ์๋ค. (NullPointException ๋ฐ์)
- ์ ์ฅ๊ณต๊ฐ์ผ๋ก ๋ฐฐ์ด์ ์ฌ์ฉํ๊ณ ๊ฐ ์์๋ฅผ heap์ด๋ผ๋ ์๋ฃ๊ตฌ์กฐ ํํ๋ก ์ ์ฅ
- ํ์ ์ด์งํธ๋ฆฌ์ ์ข ๋ฅ๋ก์จ ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ ๊ฐ์ฅ ์์ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์์ค
- ์ซ์๋ฟ ์๋๋ผ ๊ฐ์ฒด๋ ์ ์ฅ ๊ฐ๋ฅ, ๊ฐ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํด์ผํจ
- ์ซ์๋ค์ ๊ฒฝ์ฐ ์คํ ๋ฐ์ฑ๋๋ฉฐ Number์ ์์๋ค์ ์์ฒด์ ์ผ๋ก ์ ์๋์ด์์
Deque(Double-Ended Queue)
- Queue์ ๋ณํ, ์์ชฝ ๋์ ์ถ๊ฐ/์ญ์ ๊ฐ ๊ฐ๋ฅ
- Dequq์ ์กฐ์์ Queue
- ๊ตฌํ์ฒด๋ ArrayDeque, LinkedList ๋ฑ์ด ์์
- ์คํ๊ณผ ํ๋ฅผ ํฉ์ณ๋์ ๊ฒ๊ณผ ๊ฐ์ผ๋ฏ๋ก ์คํ์ผ๋ก๋, ํ๋ก๋ ์ฌ์ฉ ๊ฐ๋ฅ
1.5 Iterator, ListIterator, Enumeration
- Iterator, ListIterator, Enumeration ๋ชจ๋ ์ปฌ๋ ์
์ ์ ์ฅ๋ ์์๋ฅผ ์ ๊ทผํ๋๋ฐ ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค
- Enumeration์ Iterator์ ๊ตฌ๋ฒ์
- ListIterator๋ Iterator์ ๊ธฐ๋ฅ์ ํฅ์ ์ํจ ๊ฒ
Iterator
- ์ปฌ๋ ์ ํ๋ ์์์ ์ ์ฅ๋ ์์๋ค์ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ์ ํ์คํ
- Iterator๋ ์ ์๋ ์ธํฐํ์ด์ค, Collection์์ Iterator๋ฅผ ๋ฐํํ๋ iterator() ์ ์
- ์ฝ๋์ ์ผ๊ด์ฑ์ ๋ํ์ค
- ๋ฉ์๋
- boolean hasNext() : ์ฝ์ด ์ฌ ์์๊ฐ ๋จ์์๋์ง ์ฌ๋ถ๋ฅผ return
- Object next() : ๋ค์ ์์๋ฅผ ์ฝ์ด์ด, hasNext()๋ฅผ ๋จผ์ ํธ์ถํด์ผ ์์
- void remove() : next()๋ก ์ฝ์ด ์จ ์์๋ฅผ ์ญ์ , enxt()๋ฅผ ํธ์ถ ํ ์ฌ์ฉํด์ผํจ
- Map์ ๊ตฌํํ ํด๋์ค๋ ํค์ ๊ฐ์ ์์ผ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ keySet()์ด๋ entrySet()๊ณผ ๊ฐ์ ๋ฉ์๋๋ก Set์ ์ป์ด์ค๊ณ iterator()๋ฅผ ํธ์ถํด์ผํจ
ListIterator์ Enumeration
- Enumeration : Iterator์ ๊ตฌ๋ฒ์
- boolean hasMoreElements(), Object nextElement()
- ListIterator : Iterator์ ์๋ฐฉํฅ ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ (List๋ฅผ ๊ตฌํํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ ๊ฐ๋ฅ)
- Object PreviousIndex(), Object Previous(), boolean hasPrevious() ๋ฑ๋ฑ ์ถ๊ฐ
1.6 Arrays
- ๋ฐฐ์ด์ ๋ค๋ฃจ๋๋ฐ ์ ์ฉํ ๋ฉ์๋๊ฐ ์ ์
๋ฐฐ์ด์ ๋ณต์ฌ - copyOf(), copyOfRange()
- copyOf()๋ ๋ฐฐ์ด ์ ์ฒด๋ฅผ ๋ณต์ฌํด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ ๋ค ๋ฐํ
- copyOfRange()๋ ๋ฐฐ์ด์ ์ผ๋ถ๋ฅผ ๋ณต์ฌํด์ ์๋ก์ด ๋ฐฐ์ด์ ๋ง๋ค์ด ๋ฐํ
- ๋ฒ์์ ๋์ ํฌํจ๋์ง ์์
๋ฐฐ์ด ์ฑ์ฐ๊ธฐ - fill(), setAll()
- fill()์ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ง์ ๋ ๊ฐ์ผ๋ก ์ฑ์
- setAll()์ ํจ์ํ ์ธํฐํ์ด์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์์ ๋ฐฐ์ด์ ์ฑ์(๊ตฌํ ๊ฐ์ฒด or ๋๋ค์ ์ง์ )
๋ฐฐ์ด์ ์ ๋ ฌ๊ณผ ๊ฒ์ - sort(), binarySearch()
- sort()๋ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋ ์ฌ์ฉ
- binarySearch()๋ ๋ฐฐ์ด์ ์ ์ฅ๋ ์์๋ฅผ ๊ฒ์ํ ๋ ์ฌ์ฉ
- ์ง์ ๋ ๊ฐ์ด ์ ์ฅ๋ ์์น๋ฅผ ์ฐพ์์ ๋ฐํ
- ๋ฐฐ์ด์ด ์ ๋ ฌ๋ ์ํ์ด์ด์ผ ํจ
- ๊ฒ์ํ ๊ฐ๊ณผ ์ผ์นํ๋ ์์๋ค์ด ์ฌ๋ฌ ๊ฐ ์๋ค๋ฉด ์ด๋ค ๊ฒ์ด ๋ฐํ๋ ์ง ์ ์ ์์
๋ฐฐ์ด์ ๋น๊ต์ ์ถ๋ ฅ - equals(), toString()
- toString()์ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฌธ์์ด๋ก ํธํ๊ฒ ์ถ๋ ฅ
- ์ผ์ฐจ์ ๋ฐฐ์ด์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ค์ฐจ์ ๋ฐฐ์ด์ deepToString() ์ฌ์ฉ(๋ชจ๋ ์์๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ ๊ทผํด์ ๋ฌธ์์ด์ ๊ตฌ์ฑ)
- equals()๋ ๋ ๋ฐฐ์ด์ ์ ์ฅ๋ ๋ชจ๋ ์์๋ฅผ ๋น๊ต ํ ๊ฒฐ๊ณผ return
- ์ผ์ฐจ์ ๋ฐฐ์ด์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ค์ฐจ์ ๋ฐฐ์ด์ deepEqauls() ์ฌ์ฉ(๋ชจ๋ ์์๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ ๊ทผํด์ ๋น๊ต)
๋ฐฐ์ด์ List๋ก ๋ณํ - asList(Object... a)
- asList๋ ๋ฐฐ์ด์ List์ ๋ด์์ ๋ฐํ
- ๋งค๊ฐ๋ณ์์ ํ์ ์ด ๊ฐ๋ณ์ธ์ -> ๋ฐฐ์ด ์์ฑ ์์ด ์ ์ฅํ ์์๋ค๋ง ๋์ด๋ ๊ฐ๋ฅ
- asList()๊ฐ ๋ฐํํ List์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์์
- ์ถ๊ฐ ๋๋ ์ญ์ ๊ฐ ๋ถ๊ฐ๋ฅ
- ์ ์ฅ๋ ๋ด์ฉ์ ๋ณ๊ฒฝ์ ๊ฐ๋ฅ
- ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ List๋
new ArrayList(Arrays.asList(1,2,3,4,5))
์ ๊ฐ์ ํ์์ผ๋ก ํธ์ถ
parallelXXX(), spliterator(), stream()
- parallelXXX() : ๋ณด๋ค ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ์์ ์ ๋๋์ด ์ฒ๋ฆฌ
- spliterator() : ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋์ ์์ ์ ์ฌ๋ฌ ์์ ์ผ๋ก ๋๋๋ Spliterator ๋ฐํ
- stream() : ์ปฌ๋ ์ ์ ์คํธ๋ฆผ์ผ๋ก ๋ณํ
1.7 Comparator์ Comparable
- ์ปฌ๋ ์
์ ์ ๋ ฌํ๋๋ฐ ํ์ํ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ์ธํฐํ์ด์ค
- Comparable : ๊ธฐ๋ณธ ์ ๋ ฌ๊ธฐ์ค์ ๊ตฌํํ๋๋ฐ ์ฌ์ฉ
- Comparator : ๊ธฐ๋ณธ ์ ๋ ฌ๊ธฐ์ค ์ธ์ ๋ค๋ฅธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ณ ์ํ ๋ ์ฌ์ฉ
- ๋น๊ตํ๋ ๊ฐ์ด ํฌ๋ฉด -1, ๊ฐ์ผ๋ฉด 0, ์์ผ๋ฉด 1์ ๋ฐํํ๋๋ก ๊ตฌํ
- Arrays.sort()
- Comparator๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด ์ ์ฅํ๋ ๊ฐ์ฒด์ ๊ตฌํ๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ ๋ ฌ
- static void sort(Object[] a) : ๊ฐ์ฒด ๋ฐฐ์ด์ ์ ์ฅํ ๊ฐ์ฒด๊ฐ ๊ตฌํํ Comparable์ ์ํ ์ ๋ ฌ
- static void sort(Object[] a, Comparator c) : ์ง์ ํ Comparator์ ์ํ ์ ๋ ฌ
- String์์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ๋น๊ตํ๋ Comparator๋ฅผ ์์์ ํํ๋ก ์ ๊ณต
- public static final Comparator CASE_INSENSITIVE_ORDER
- ๊ตฌํ๋ compareTo() ๊ฒฐ๊ณผ์ -1์ ๊ณฑํ๋ ์์ผ๋ก ๋ฐ๋๋ก ์ ๋ ฌํ๋ ๊ฒ๋ ๊ฐ๋ฅ
- compare()์ ๋งค๊ฐ๋ณ์๊ฐ Object์์ผ๋ก ํ๋ณํ ํ compareTo()๋ฅผ ํธ์ถํ ๊ฒ
1.8 HashSet
- Set ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฅ ๋ํ์ ์ธ ์ปฌ๋ ์
- ์ค๋ณต๋ ์์๋ฅผ ์ ์ฅํ์ง ์์
- ์ ์ฅ ์์๋ฅผ ์ ์งํ์ง ์์
- ์ ์ฅ ์์๋ฅผ ์ ์งํ๋ผ๋ฉด LinkedHashSet์ ์ฌ์ฉ
- HashSet์ add ๋ฉ์๋๋ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํ๊ธฐ ์ ์ ๊ธฐ์กด์ ์ ์ฅ๋ ์์์ ๊ฐ์ ๊ฒ์ธ์ง ํ๋ณ
- eqauls()์ hashCode()๋ฅผ ํธ์ถํ๋ฏ๋ก ๋ชฉ์ ์ ๋ง๊ฒ ์ค๋ฒ๋ผ์ด๋ฉ ํด์ผ ํจ
- hashCode()๋ฅผ ๊ตฌํํ ๋ ๋ค์์ ์ธ ๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค.
- ์ฌ๋ฌ ๋ฒ hashCode()๋ฅผ ํธ์ถํด๋ ๋์ผํ int ๊ฐ์ ๋ฐํ
- equals() ๋ฉ์๋๋ฅผ ์ด์ฉํ ๋น๊ต์์ true๊ฐ ๋์จ๋ค๋ฉด ๋ ๊ฐ์ฒด์์ ๊ฐ๊ฐ ์ป์ hashCode()์ ๊ฒฐ๊ณผ๋ ๊ฐ์์ผ ํจ
- equals() ๋ฉ์๋๋ฅผ ์ด์ฉํ ๋น๊ต์์ true๊ฐ ๋์ค๋๋ผ๋ hashCode()์์ ๊ฐ์ int ๊ฐ์ด ๋ฐํ๋๋ ๊ฒฝ์ฐ๋ ๊ด์ฐฎ์ง๋ง ์ฑ๋ฅ ํฅ์์ ์ํด ๋ค๋ฅธ int ๊ฐ์ ๋ฐํํ๋ ๊ฒ์ด ์ข์
1.9 TreeSet
- TreeSet์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ(binary search tree)๋ผ๋ ์๋ฃ๊ตฌ์กฐ์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ์ ๋ ฌ, ๊ฒ์, ๋ฒ์ ๊ฒ์์ ๋์ ์ฑ๋ฅ์ ๋ณด์
- TreeSet์ ์ด์ง ๊ฒ์ ํธ๋ฆฌ์ ์ฑ๋ฅ์ ํฅ์์ํจ
๋ ๋-๋ธ๋ ํธ๋ฆฌ
๋ก ๊ตฌํ - ์ฌ๋ฌ ๊ฐ์ ๋ ธ๋๊ฐ ์๋ก ์ฐ๊ฒฐ๋ ๊ตฌ์กฐ (์ต๋ 2๊ฐ์ ๋ ธ๋ ์ฐ๊ฒฐ, ๋ฃจํธ ๋ ธ๋๋ถํฐ ๊ณ์ ํ์ฅ)
- ๋ถ๋ชจ ๋ ธ๋์ ์ผ์ชฝ์๋ ๋ถ๋ชจ ๋ ธ๋์ ๊ฐ๋ณด๋ค ์์ ๊ฐ, ์ค๋ฅธ์ชฝ์๋ ํฐ ๊ฐ
- ์ผ์ชฝ ๋ง์ง๋ง ๊ฐ๋ถํฐ ์ค๋ฅธ์ชฝ ๊ฐ๊น์ง ๊ฐ์ ์ฝ์ด์ค๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์์๋ฅผ
- ๊ฐ์ ๋น๊ตํ๊ธฐ ์ํด์ ์ ์ฅ๋๋ ๊ฐ์ฒด์ Comparable ๊ตฌํ or TreeSet์ด Comparator๋ฅผ ๊ตฌํ
- Set ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด์ด๋ฏ๋ก ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ง ์๊ณ ์ ๋ ฌ๋ ์์น์ ์ ์ฅํ๋ฏ๋ก ์ ์ฅ ์์ ์ ์ง X
- ๋งํฌ๋ ๋ฆฌ์คํธ๋ณด๋ค ์ถ๊ฐ/์ญ์ ์๊ฐ์ ๋ ๊ฑธ๋ฆฌ์ง๋ง ๋ฐฐ์ด์ด๋ ๋งํฌ๋ ๋ฆฌ์คํธ์ ๋นํด ๊ฒ์๊ณผ ์ ๋ ฌ ๊ธฐ๋ฅ์ด ๋ฐ์ด๋จ
- subSet() ๋ฉ์๋๋ ๋ ๋ฒ์๋ ํฌํจ๋์ง ์๋ ๊ฒ์ ์ฃผ์
- ๋๋ฌธ์๊ฐ ์๋ฌธ์๋ณด๋ค ์ฐ์ (๊ณต๋ฐฑ, ์ซ์, ๋๋ฌธ์, ์๋ฌธ์์ ์)
- headSet(), tailSet์ผ๋ก ๊ธฐ์ค ๊ฐ ๋ณด๋ค ํฐ ๊ฐ๊ณผ ์์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ป์ ์ ์์
1.10 HashMap๊ณผ HashTable
- HashTable๊ณผ HashMap์ ๊ด๊ณ๋ Vector์ ArrayList์ ๊ด๊ณ์ ๊ฐ์ (์๋ก์ด ๋ฒ์ ์ธ HashMap์ ์ฌ์ฉํ ๊ฒ์ ๊ถ์ฅ)
- HashMap์ Map์ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ ํค์ ๊ฐ์ ๋ฌถ์ด์ ํ๋์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ๋ ํน์ง
- Entry๋ ํค์ ๊ฐ์ ๋ฌถ์ ํด๋์ค
- ํค๋ ์ปฌ๋ ์ ๋ด์์ ์ ์ผํด์ผ ํจ (๊ฐ์ ํค๋ก ์๋ฃ๊ฐ ์ถ๊ฐ๋๋ฉด ๋ฎ์ด๋ฒ๋ฆผ)
- ๊ฐ์ ํค์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉ
- HashMap์ ๋ฐ์ดํฐ์ ํค์ ๊ฐ์ ๋ชจ๋ Object ํ์ ์ผ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ HashMap์ ๊ฐ์ผ๋ก HashMap์ ๋ค์ ์ ์ฅํ ์ ์์
ํด์ฑ๊ณผ ํด์ ํจ์
- ํด์ฑ์ ํด์ ํจ์๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ํด์ํ
์ด๋ธ์ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ๊ธฐ๋ฒ
- ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ๊ณณ์ ์๋ ค ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ค๋์ ๋ฐ์ดํฐ ์ค์์๋ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์
- ์ปฌ๋ ์ ๊ตฌํ์ฒด ํด๋์ค๋ก๋ HashSet, HashMap, HashTable์ด ์กด์ฌ
- ํด์ฑ์ ์๋ฃ๊ตฌ์กฐ๋ ๋ฐฐ์ด๊ณผ ๋งํฌ๋ ๋ฆฌ์คํธ์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ง
- ์ ์ฅํ ๋ฐ์ดํฐ์ ํค๋ฅผ ํด์ ํจ์์ ๋ฃ์ผ๋ฉด ๋ฐฐ์ด์ ํ ์์๋ฅผ ์ป๊ฒ ๋จ
- ๋ค์ ๊ทธ๊ณณ์ ์ฐ๊ฒฐ๋์ด ์๋ ๋งํฌ๋ ๋ฆฌ์คํธ์ ์ ์ฅ
- ์กฐํ ์ ๋งํฌ๋ ๋ฆฌ์คํธ์์ ๊ฒ์ํ ํค์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์
- ์ ์ฅ๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํด์ HashMap์ ํฌ๊ธฐ๋ฅผ ์ ์ ํ๊ฒ ์ง์ ํ ์ค๋ณต๋ ํด์ ์ฝ๋์ ๋ฐํ์ ์ต์ํํด์ผ ๋จ
- ๋งํฌ๋ ๋ฆฌ์คํธ์ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ๊ฒ์ ์๋๊ฐ ๋จ์ด์ง๊ธฐ ๋๋ฌธ
- Object ํด๋์ค์ ์ ์๋ hashCode()๋ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ์ด์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํด์ ์ฝ๋ ์์ฑ
- String์ ๊ฒฝ์ฐ ๊ฐ์ ๋ฌธ์์ด์ ๊ฐ์ก๋ค๋ฉด ๊ฐ์ ํด์ ์ฝ๋๋ฅผ ์ป๋๋ก ์ค๋ฒ๋ผ์ด๋ฉ
- equals()๋ก ๋น๊ตํ ๊ฒฐ๊ณผ๊ฐ true๋ผ๋ฉด hashCode()์ ๋ฐํ๊ฐ์ด ๊ฐ์์ผ ๊ฐ์ ๊ฐ์ฒด๋ก ์ธ์ํ๋ฏ๋ก equals()๋ฅผ ์ฌ์ ์ํ๋ค๋ฉด hashCode()๋ ์ฌ์ ์ ํ ๊ฒ
1.11 TreeMap
- ์ด์ง๊ฒ์ ํธ๋ฆฌ์ ํํ๋ก ํค์ ๊ฐ์ ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ๊ฒ์๊ณผ ์ ๋ ฌ์ ์ ํฉํ ์ปฌ๋ ์ ํด๋์ค
- ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์์ HashMap์ด TreeMap๋ณด๋ค ๋ ๋ฐ์ด๋์ง๋ง ๋ฒ์ ๊ฒ์์ด๋ ์ ๋ ฌ์ด ํ์ํ ๊ฒฝ์ฐ์๋ TreeMap์ ์ฌ์ฉํ ๊ฒ
1.12 Properties
- HashMap์ ๊ตฌ ๋ฒ์ ์ธ HashTable์ ์์๋ฐ์ ๊ตฌํํ ๊ฒ
- ๊ธฐ์กด์ HashTable ๊ณผ๋ ๋ฌ๋ฆฌ (String, String)์ ํํ๋ก ์ ์ฅํ๋ ๋ณด๋ค ๋จ์ํ๋ ์ปฌ๋ ์ ํด๋์ค
- ์ฃผ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์ ํ๊ฒฝ์ค์ ๊ณผ ๊ด๋ จ๋ ์์ฑ์ ์ ์ฅ
- ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก๋ถํฐ ์ฝ๊ณ ์ฐ๋ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ์ ๊ณต
- setProperty()๋ ๋จ์ํ Hashtable์ put ๋ฉ์๋๋ฅผ ํธ์ถ
- ๊ธฐ์กด์ ๊ฐ์ ํค๋ก ์ ์ฅ๋ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์ Object๋ก ๋ฐํ, ๊ทธ๋ ์ง ์์ ๋๋ null ๋ฐํ
- getProperty()๋ ์ ์ฅ๋ ๊ฐ์ ์ฝ์ด์ด
- ์ฝ์ด์ค๋ ํค๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด return ํ ๊ธฐ๋ณธ๊ฐ์ ๋งค๊ฐ๋ณ์๋ก ์ ์ธ ๊ฐ๋ฅ
- ์ถ๋ ฅ๋ ์์๋ ์ ์ฅ ์์์ ๋ฌด๊ด
- list() ๋ฉ์๋๋ก Properties์ ์ ์ฅ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด ๋๋ ํ์ผ์ ์ถ๋ ฅ
1.13 Collections
- Collections๋ ์ปฌ๋ ์ ๊ณผ ๊ด๋ จ๋ ๋ฉ์๋๋ฅผ ์ ๊ณต
- fill(), copy(), sort(), binarySearch()๋ Arrays ํด๋์ค์ Collections ํด๋์ค์ ๋ชจ๋ ํฌํจ๋์ด ์๊ณ ๊ฐ์ ๊ธฐ๋ฅ ์ํ
์ปฌ๋ ์ ์ ๋๊ธฐํ
- Vector์ Hashtable๊ณผ ๊ฐ์ JDK1.2 ์ด์ ํด๋์ค๋ค์ ์์ฒด์ ์ผ๋ก ๋๊ธฐํ ์ฒ๋ฆฌ
- ์๋ก ์ถ๊ฐ๋ ์ปฌ๋ ์ ๋ค์ Collections์ ๋๊ธฐํ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ๋๊ธฐํ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ
synchronize~
๋ก ์์ํ๋ ๋ฉ์๋๋ก ๋๊ธฐํ ์ ๊ณต
๋ณ๊ฒฝ ๋ถ๊ฐ ์ปฌ๋ ์ ๋ง๋ค๊ธฐ
- ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง๋ค์ด์ ๋ณดํธํ๊ธฐ ์ํด์ ์ฌ์ฉ
- ์ฃผ๋ก ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์์ ํ๋์ ์ปฌ๋ ์ ์ ์ฌ๋ฌ ์ค๋ ๋๊ฐ ๊ณต์ ํ ๋ ์ฌ์ฉ
unmodifiable~
๋ก ์์ํ๋ ๋ฉ์๋ ์ฌ์ฉ
์ฑ๊ธํค ์ปฌ๋ ์ ๋ง๋ค๊ธฐ
- ๋จ ํ๋์ ๊ฐ์ฒด๋ง์ ์ ์ฅํ๋ ์ปฌ๋ ์ ์ ๋ง๋ค ๋ ์ฌ์ฉ
singleton~
์ผ๋ก ์์ํ๋ ๋ฉ์๋ ์ฌ์ฉ
ํ ์ข ๋ฅ์ ๊ฐ์ฒด๋ง ์ ์ฅํ๋ ์ปฌ๋ ์ ๋ง๋ค๊ธฐ
- ์ปฌ๋ ์ ์ ์ง์ ๋ ์ข ๋ฅ์ ๊ฐ์ฒด๋ง ์ ์ฅํ ์ ์๋๋ก ์ ํํ ๋ ์ฌ์ฉ
checked~
๋ก ์์ํ๋ ๋ฉ์๋ ์ฌ์ฉ- ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋จํ ํ ์ ์์ง๋ง ํธํ์ฑ์ ์ํด์ ์ ๊ณต
- JDK 1.5 ์ด์ ์ ์์ฑ๋ ์ฝ๋๋ ํด๋น ๋ฉ์๋๋ฅผ ์ฌ์ฉ
1.14 ์ปฌ๋ ์ ํด๋์ค ์ ๋ฆฌ & ์์ฝ
- ArrayList
- ๋ฐฐ์ด ๊ธฐ๋ฐ
- ๋ฐ์ดํฐ์ ์ถ๊ฐ์ ์ญ์ ์ ๋ถ๋ฆฌ
- ์์ฐจ์ ์ธ ์ถ๊ฐ ์ญ์ ๋ ์ ์ผ ๋น ๋ฆ
- ์์์ ์์์ ๋ํ ์ ๊ทผ์ฑ์ด ๋ฐ์ด๋จ
- LinkedList
- ์ฐ๊ฒฐ ๊ธฐ๋ฐ
- ๋ฐ์ดํฐ์ ์ถ๊ฐ์ ์ญ์ ์ ์ ๋ฆฌ
- ์์์ ์์์ ๋ํ ์ ๊ทผ์ฑ์ด ์ข์ง ์์
- HashMap
- ๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ์ด ๊ฒฐํฉ๋ ํํ
- ์ถ๊ฐ, ์ญ์ , ๊ฒ์, ์ ๊ทผ์ฑ์ด ๋ชจ๋ ๋ฐ์ด๋จ
- ๊ฒ์์๋ ์ต๊ณ ์ฑ๋ฅ
- TreeMap
- ์ฐ๊ฒฐ ๊ธฐ๋ฐ, ์ ๋ ฌ๊ณผ ๊ฒ์(ํนํ ๋ฒ์ ๊ฒ์)์ ์ ํฉ
- ๊ฒ์ ์ฑ๋ฅ์ HashMap๋ณด๋ค ๋จ์ด์ง
- Stack
- Vector๋ฅผ ์์๋ฐ์ ๊ตฌํ
- Queue
- LinkedList๊ฐ Queue ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํ
- Properties
- Hashtable์ ์์๋ฐ์ ๊ตฌํ
- HashSet
- HashMap์ ์ด์ฉํด์ ๊ตฌํ
- TreeSet
- TreeMap์ ์ด์ฉํด์ ๊ตฌํ
- LinkedHashMap, LinkedHashSet
- HashMap๊ณผ HashSet์ ์ ์ฅ ์์ ์ ์ง ๊ธฐ๋ฅ์ ์ถ๊ฐ
'Java > Java์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Chapter 13 - ์ฐ๋ ๋(Thread) (0) | 2022.05.12 |
---|---|
Chapter 12 - ์ ๋ค๋ฆญ์ค, ์ด๊ฑฐํ, ์ ๋ํ ์ด์ (0) | 2022.05.09 |
Chapter 10 - ๋ ์ง์ ์๊ฐ & ํ์ํ (0) | 2022.04.28 |
Chapter 09 - java.lang ํจํค์ง์ ์ ์ฉํ ํด๋์ค (0) | 2022.04.26 |
Chapter 08 - ์์ธ์ฒ๋ฆฌ (0) | 2022.04.24 |