๐Today...
โ์ค๋์ TIL(Today I Learn)
์ปฌ๋ ์ ํ๋ ์์ํฌ
๊ธฐ๋ฅ | ๋ฆฌํด ํ์ | ๋ฉ์๋ | ์ค๋ช |
๊ฐ์ฒด ์ถ๊ฐ | boolean | add(Object o) / addAll(Collection c) |
์ฃผ์ด์ง ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ์ ์ ๊ฐ์ฒด๋ค์ ์ปฌ๋ ์ ์ ์ถ๊ฐํฉ๋๋ค. |
๊ฐ์ฒด ๊ฒ์ | boolean | contains(Object o) / containsAll(Collection c) | ์ฃผ์ด์ง ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ์ ์ด ์ ์ฅ๋์ด ์๋์ง๋ฅผ ๋ฆฌํดํฉ๋๋ค. |
Iterator | iterator() | ์ปฌ๋ ์ ์ iterator๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
boolean | equals(Object o) | ์ปฌ๋ ์ ์ด ๋์ผํ์ง ํ์ธํฉ๋๋ค. | |
boolean | isEmpty() | ์ปฌ๋ ์ ์ด ๋น์ด์๋์ง๋ฅผ ํ์ธํฉ๋๋ค. | |
int | size() | ์ ์ฅ๋ ์ ์ฒด ๊ฐ์ฒด ์๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
๊ฐ์ฒด ์ญ์ | void | clear() | ์ปฌ๋ ์ ์ ์ ์ฅ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํฉ๋๋ค. |
boolean | remove(Object o) / removeAll(Collection c) | ์ฃผ์ด์ง ๊ฐ์ฒด ๋ฐ ์ปฌ๋ ์ ์ ์ญ์ ํ๊ณ ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
boolean | retainAll(Collection c) | ์ฃผ์ด์ง ์ปฌ๋ ์ ์ ์ ์ธํ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ปฌ๋ ์ ์์ ์ญ์ ํ๊ณ , ์ปฌ๋ ์ ์ ๋ณํ๊ฐ ์๋์ง๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
๊ฐ์ฒด ๋ณํ | Object[] | toArray() | ์ปฌ๋ ์ ์ ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ฒด๋ฐฐ์ด(Object [])๋ก ๋ฐํํฉ๋๋ค. |
Object[] | toArray(Object[] a) | ์ฃผ์ด์ง ๋ฐฐ์ด์ ์ปฌ๋ ์ ์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํด์ ๋ฐํํฉ๋๋ค. |
List<E>
List ์ธํฐํ์ด์ค๋ ๋ฐฐ์ด๊ณผ ๊ฐ์ด ๊ฐ์ฒด๋ฅผ ์ผ๋ ฌ๋ก ๋์ด๋์ ๊ตฌ์กฐ์ด๋ค. ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ฉด ์๋์ผ๋ก ์ธ๋ฑ์ค๊ฐ ๋ถ์ฌ๋๊ณ , ์ธ๋ฑ์ค๋ก ๊ฐ์ฒด๋ฅผ ๊ฒ์, ์ถ๊ฐ, ์ญ์ ํ ์์๋๋ฑ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๊ธฐ๋ฅ | ๋ฆฌํดํ์ | ๋ฉ์๋ | ์ค๋ช |
๊ฐ์ฒด ์ถ๊ฐ | void | add(int index, Object element) | ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐ |
boolean | addAll(int index, Collection c) | ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ์ปฌ๋ ์ ์ ์ถ๊ฐ | |
Object | set(int index, Object element) | ์ฃผ์ด์ง ์์น์ ๊ฐ์ฒด๋ฅผ ์ ์ฅ | |
๊ฐ์ฒด ๊ฒ์ | Object | get(int index) | ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํ |
int | indexOf(Object o) / lastIndexOf(Object o) | ์๋ฐฉํฅ / ์ญ๋ฐฉํฅ์ผ๋ก ํ์ํ์ฌ ์ฃผ์ด์ง ๊ฐ์ฒด์ ์์น๋ฅผ ๋ฐํ | |
ListIterator | listIterator() / listIterator(int index) | List์ ๊ฐ์ฒด๋ฅผ ํ์ํ ์ ์๋ ListIterator ๋ฐํ / ์ฃผ์ด์ง index๋ถํฐ ํ์ํ ์ ์๋ ListIterator ๋ฐํ | |
List | subList(int fromIndex, int toIndex) | fromIndex๋ถํฐ toIndex์ ์๋ ๊ฐ์ฒด๋ฅผ ๋ฐํ | |
๊ฐ์ฒด ์ญ์ | Object | remove(int index) | ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๊ณ ์ญ์ ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํ |
boolean | remove(Object o) | ์ฃผ์ด์ง ๊ฐ์ฒด๋ฅผ ์ญ์ | |
๊ฐ์ฒด ์ ๋ ฌ | void | sort(Comparator c) | ์ฃผ์ด์ง ๋น๊ต์(comparator)๋ก List๋ฅผ ์ ๋ ฌ |
List๋ฅผ ๊ตฌํํ ํด๋์ค๋ก๋ ArrayList, Vector, LinkedList, Stack ๋ฑ์ด ์๋ค.
์ฐธ์กฐ - https://docs.oracle.com/javase/8/docs/api/java/util/List.html
ArrayList๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
1. ๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ
2. ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ
LinkedList๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
1. ๋ฐ์ดํฐ๋ฅผ ์ค๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ
Set<E>
Set์ ์์์ ์ค๋ณต์ ํ์ฉํ์ง ์๊ณ , ์ ์ฅ์์๋ฅผ ์ ์งํ์ง ์๋ ์ปฌ๋ ์ ์ด๋ค. ๋ํ์ ์ผ๋ก HashSet, TreeSet๋ฑ์ด ์๋ค.
๊ธฐ๋ฅ | ๋ฆฌํดํ์ | ๋ฉ์๋ | ์ค๋ช |
๊ฐ์ฒด ์ถ๊ฐ | boolean | add(Object o) | ์ฃผ์ด์ง ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๊ณ , ์ฑ๊ณตํ๋ฉด true๋ฅผ, ์ค๋ณต ๊ฐ์ฒด๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค. |
๊ฐ์ฒด ๊ฒ์ | boolean | contains(Object o) | ์ฃผ์ด์ง ๊ฐ์ฒด๊ฐ Set์ ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค. |
boolean | isEmpty() | Set์ด ๋น์ด์๋์ง ํ์ธํฉ๋๋ค. | |
Iterator | Iterator() | ์ ์ฅ๋ ๊ฐ์ฒด๋ฅผ ํ๋์ฉ ์ฝ์ด์ค๋ ๋ฐ๋ณต์๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
int | size() | ์ ์ฅ๋ ์ ์ฒด ๊ฐ์ฒด์ ์๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
๊ฐ์ฒด ์ญ์ | void | clear() | Set์ ์ ์ฅ๋ ๋ชจ๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํฉ๋๋ค. |
boolean | remove(Object o) | ์ฃผ์ด์ง ๊ฐ์ฒด๋ฅผ ์ญ์ ํฉ๋๋ค. |
[HashSet] - https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html
[TreeSet] - https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html
TreeSet์ ์ด์ง ํ์ ํธ๋ฆฌ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ๋ฐ์ดํฐ์ ์ค๋ณต ์ ์ฅ์ ํ์ฉํ์ง ์๊ณ , ์ ์ฅ์์๋ฅผ ์ ์งํ์ง ์๋๋ค. ํ๋์ ๋ถ๋ชจ ๋ ธ๋๊ฐ ์ต๋ ๋๊ฐ์ ์์๋ ธ๋์ ์ฐ๊ฒฐ๋๋ ์ด์งํธ๋ฆฌ(Binary Tree)์ ์ผ์ข ์ผ๋ก, ์ ๋ ฌ๊ณผ ๊ฒ์์ ํนํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ถ๋ ฅ๊ฐ์ด ์๋์ผ๋ก ์ฌ์ ํธ์ฐฌ์์ ๋ฐ๋ผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด์๋ค. ์ด๋ TreeSet์ ๊ธฐ๋ณธ ์ ๋ ฌ๋ฐฉ์์ด ์ค๋ฆ์ฐจ์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
Map<K,V>
Map ์ธํฐํ์ด์ค๋ Key์ Value๋ก ๊ตฌ์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ์ด๋ค. ์ด ๊ฐ์ฒด๋ฅผ Entry๊ฐ์ฒด ๋ผ๊ณ ํ๊ณ , Enrty ๊ฐ์ฒด๋ ํค์ ๊ฐ์ ๊ฐ๊ฐ Key๊ฐ์ฒด์ Value ๊ฐ์ฒด๋ก ์ ์ฅํ๋ค.
Map์ ํน์ง์ ํค๋ ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๊ณ , ๊ฐ์ ์ค๋ณต์ด ๊ฐ๋ฅํ๋ค. ๊ธฐ์กด ํค์ ๊ฐ์ ํค๋ก ๊ฐ์ ์ ์ฅํ๋ฉด, ๊ธฐ์กดํค์ ๊ฐ์ด ์๋ก์ด๊ฐ์ผ๋ก ๋์น๋๋ค. Map์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ HashMap, Hashtable, TreeMap, SortedMap ๋ฑ์ด ์๋ค.
๊ธฐ๋ฅ | ๋ฆฌํดํ์ | ๋ฉ์๋ | ์ค๋ช |
๊ฐ์ฒด ์ถ๊ฐ | Object | put(Object key, Object value) | ์ฃผ์ด์ง ํค๋ก ๊ฐ์ ์ ์ฅํฉ๋๋ค. ํด๋น ํค๊ฐ ์๋ก์ด ํค์ผ ๊ฒฝ์ฐ null์ ๋ฆฌํดํ์ง๋ง, ๊ฐ์ ํค๊ฐ ์์ผ๋ฉด ๊ธฐ์กด์ ๊ฐ์ ๋์ฒดํ๊ณ ๋์ฒด๋๊ธฐ ์ด์ ์ ๊ฐ์ ๋ฆฌํดํฉ๋๋ค. |
๊ฐ์ฒด ๊ฒ์ | boolean | containsKey(Object key) | ์ฃผ์ด์ง ํค๊ฐ ์์ผ๋ฉด true, ์์ผ๋ฉด false๋ฅผ ๋ฆฌํดํฉ๋๋ค. |
boolean | containsValue(Object value) | ์ฃผ์ด์ง ๊ฐ์ด ์์ผ๋ฉด true, ์์ผ๋ฉด false๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
Set | entrySet() | ํค์ ๊ฐ์ ์์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ Map.Entry ๊ฐ์ฒด๋ฅผ Set์ ๋ด์์ ๋ฆฌํดํฉ๋๋ค. | |
Object | get(Object key) | ์ฃผ์ด์ง ํค์ ํด๋นํ๋ ๊ฐ์ ๋ฆฌํดํฉ๋๋ค. | |
boolean | isEmpty() | ์ปฌ๋ ์ ์ด ๋น์ด ์๋์ง ํ์ธํฉ๋๋ค. | |
Set | keySet() | ๋ชจ๋ ํค๋ฅผ Set ๊ฐ์ฒด์ ๋ด์์ ๋ฆฌํดํฉ๋๋ค. | |
int | size() | ์ ์ฅ๋ Entry ๊ฐ์ฒด์ ์ด ๊ฐฏ์๋ฅผ ๋ฆฌํดํฉ๋๋ค. | |
Collection | values() | ์ ์ฅ๋ ๋ชจ๋ ๊ฐ์ Collection์ ๋ด์์ ๋ฆฌํดํฉ๋๋ค. | |
๊ฐ์ฒด ์ญ์ | void | clear() | ๋ชจ๋ Map.Entry(ํค์ ๊ฐ)์ ์ญ์ ํฉ๋๋ค. |
Object | remove(Object key) | ์ฃผ์ด์ง ํค์ ์ผ์นํ๋ Map.Entry๋ฅผ ์ญ์ ํ๊ณ ๊ฐ์ ๋ฆฌํดํฉ๋๋ค. |
# HashMap
HashMap์ ํจ์๋ฅผ ํตํด์ ํค์ ๊ฐ์ด ์ ์ฅ๋๋ ์์น๋ฅผ ๊ฒฐ์ ํ๋ฏ๋ก, ์ฝ์ ๋๋ ์์์ ์์น ๋ํ ๊ด๊ณ๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ Hashing์ ์ฌ์ฉํ์ฌ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋๋ฐ ์์ด ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.
HashMap<String, Integer> hashmap = new HashMap<>();
//HashMap์ ์์ฑ
๐ํผ์์ ํด๊ฒฐํ๊ธฐ
๋ด์ฉ