๋ณธ ํฌ์คํธ๋
์๋ฐ์ ์ Vol.2 ์ด์๋ฏผ ์
์ ๋ด์ฉ์ ์ ๋ฆฌํ ํฌ์คํธ์ ๋๋ค
๋ ์์ธํ ๋ด์ฉ๊ณผ ๊น์ด ์๋ ๋ด์ฉ์ ์ฑ ์ ์์ต๋๋ค.
์๋ฐ๋ ๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด ์ฌ๋ฌ ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ตฌํํด๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
Collection์ ์ ๊ณตํฉ๋๋ค.
์ด๋ค ์ ๋ณด๋ฅผ '์ฌ๋ฌ ๊ฐ'๋ด์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ ํํ ๋ ์ฐ๋ฆฌ๋ ์ฃผ๋ก
์ด ์๋ฐ์ Collection ๋๋ Map์ ์ฌ์ฉํฉ๋๋ค.
์๋ฐ์ Collection, ๊ทธ๋ฆฌ๊ณ Map์ ๋ค์๊ณผ ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
Set, List, Queue๊ฐ Collection ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ณ ์์ผ๋ฉฐ ๊ทธ ์๋์
์ฌ๋ฌ ๊ตฌํ ํด๋์ค๋ค์ด ์กด์ฌํ๋ฉฐ
Map์ Collection๊ณผ ๋
๋ฆฝ์ ์ผ๋ก HashMap, TreeMap๋ฑ์ด Map ์ธํฐํ์ด์ค๋ฅผ
๊ตฌํํ๊ณ ์์ต๋๋ค.
๊ทธ๋ผ ๋ชจ๋ ์๋ฃ๊ตฌ์กฐ๋ค์ ํ๋ํ๋ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
Collection์, Iterable ์ธํฐํ์ด์ค๋ฅผ ํ์ฅํ ์ธํฐํ์ด์ค์
๋๋ค. ๋ฐ๋ผ์
Collection์ ๊ตฌํํ ๋ชจ๋ ํด๋์ค๋ Iterable์ ๊ตฌํํด์ผ ํ๋๋ฐ
Iterable ์ธํฐํ์ด์ค๋ Iterator๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉฐ
๋ฐ๋ผ์ ๋ชจ๋ Collection ๊ตฌํ์ฒด๋ค์ Iterator๋ฅผ ์ฌ์ฉํ์ฌ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ
์กฐํํ ์ ์์ต๋๋ค.
Iterator์ ๋ฉ์๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฆฌํด ํ์ | ๋ฉ์๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ | ์ค๋ช |
---|---|---|
boolean | add(E e) | ์์ ์ถ๊ฐ |
boolean | addAll(Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ปฌ๋ ์ ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ค |
void | clear() | ์ปฌ๋ ์ ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ |
boolean | contains(Object) | ํด๋น Object๊ฐ ์ปฌ๋ ์ ์ ์กด์ฌํ๋์ง ํ์ธํ๊ณ ์กด์ฌํ๋ฉด true๋ฅผ ๋ฆฌํดํ๋ค |
boolean | containsAll(Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ปฌ๋ ์ ์ ์กด์ฌํ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ํด๋น ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ๋ค |
boolean | equals(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ Object๊ฐ ๋์ผํ Object์ธ์ง ํ์ธํ๋ค |
int | hashCode() | ์ปฌ๋ ์ ์ ํด์์ฝ๋๊ฐ์ ๋ฆฌํดํ๋ค |
boolean | isEmpty() | ์ปฌ๋ ์ ์ด ๋น์ด์๋์ง ํ์ธํ๋ค |
Iterator | iterator() | ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์ฒ๋ฆฌํ๊ธฐ ์ํ Iterator ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํ๋ค |
boolean | remove(Object) | ํ๋ผ๋ฏธํฐ์ ๋์ผํ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ค |
boolean | removeAll(Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ์ฝ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ํด๋น ์ปฌ๋ ์ ์์ ์ญ์ ํ๋ค |
boolean | retainAll(Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ์ฝ๋ ์ ์ ๋ฐ์ดํฐ๋ง ํด๋น ์ปฌ๋ ์ ์ ๋จ๊ฒจ๋๋ค |
int | size() | ์ปฌ๋ ์ ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๋ฆฌํดํ๋ค |
Object[ ] | toArray() | ์ปฌ๋ ์ ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ค์ ๋ฐฐ์ด๋ก ๋ณต์ฌํ๋ค |
< T > T[ ] | toArray(T[ ]) | ์ปฌ๋ ์ ์ ์๋ ๋ฐ์ดํฐ๋ค์ ์ง์ ํ ํ์ ์ ๋ฐฐ์ด๋ก ๋ณต์ฌํ๋ค |
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ปฌ๋ ์
์ค ํ๋์
๋๋ค. Vector ํด๋์ค์ ๊ทธ ์ฌ์ฉ๋ฒ ๋ฐ ๊ตฌ์กฐ๊ฐ
๊ฑฐ์ ๋น์ทํ๋ฉฐ, Vector์์ ์ฐจ์ด๋ Thread Safe
์ฌ๋ถ์
๋๋ค. Vector๋ Thread Safeํ์ง๋ง
ArrayList๋ Thread Safeํ์ง ์์ต๋๋ค.
ArrayList๋ ์ด 6๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ต๋๋ค. ArrayList๊ฐ ๊ตฌํํ ์ธํฐํ์ด์ค๋
๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ธํฐํ์ด์ค | ์ฉ๋ |
---|---|
Serializable | ์๊ฒฉ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์ ์กํ๊ฑฐ๋, ํ์ผ์ ์ ์ฅํ ์ ์์์ ์ง์ |
Cloneable | Object Class์ clone()๋ฉ์๋๊ฐ ์ ๋๋ก ์ํ๋ ์ ์์์ ์ง์ ํ๋ค. ์ฆ ๋ณต์ฌ ๊ฐ๋ฅํ ๊ฐ์ฒด์์ ์๋ฏธ |
Iterable< E > | ๊ฐ์ฒด๊ฐ "foreach"๋ฌธ์ฅ์ ์ฌ์ฉํ ์ ์์ |
Collection < E > | ์ฝ๋ ์ ์ธํฐํ์ด์ค ๊ตฌํ |
List< E > | ๋ชฉ๋กํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ฉ์๋ ์ง์ |
RandomAccess | ๋ชฉ๋กํ ๋ฐ์ดํฐ์ ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์๋๋ก random ์ ๊ทผํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์ฉ๋จ |
์์ฑ์ | ์ค๋ช |
---|---|
ArrayList() | ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ด 10๊ฐ์ธ ArrayList๋ฅผ ๋ง๋ ๋ค |
ArrayList(Collection< ? extends E > c ) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ์ปฌ๋ ์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ ArrayList๋ฅผ ์์ฑํ๋ค |
ArrayList(int initialCapacity) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์๋งํผ์ ์ ์ฅ ๊ณต๊ฐ์ ๊ฐ์ง๋ ArrayList๋ฅผ ์์ฑํ๋ค |
๋ฆฌํด ํ์ | ๋ฉ์๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ | ์ค๋ช |
---|---|---|
boolean | add(E e) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋์ ๋ด๋๋ค |
void | add(int index, E e) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ index์์น์ ๋ด๋๋ค, ํ ์นธ์ฉ ๋ฐ์ด๋ด๊ธฐ |
boolean | addAll(Collection< ? extends E > c) | ๋งค๊ฐ ๋ณ์๋ก ๋์ด์จ ์ปฌ๋ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋ง์ง๋ง๋ถํฐ ๋ด๋๋ค |
boolean | addAll(int index, Collection< ? extends E > c) | ๋งค๊ฐ ๋ณ์๋ก ๋์ด์จ ์ปฌ๋ ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ index๋ถํฐ ๋ด๋๋ค |
int | size() | ArrayList ๊ฐ์ฒด์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๋ฆฌํดํ๋ค |
E | get(int index) | ํ๋ผ๋ฏธํฐ๋ก ์ง์ ํ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ค |
int | indexOf(Object o) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด์ ๋์ผํ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฆฌํดํ๋ค |
int | lastIndexOf(Object o) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด์ ๋์ผํ ๋ง์ง๋ง ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฆฌํดํ๋ค |
Object[ ] | toArray() | ArrayList์ ์กด์ฌํ๋ ๊ฐ๋ค์ Object[ ] ํ์ ์ ๋ฐฐ์ด๋ก ์์ฑํ๋ค |
< T > T[ ] | toArray(T[ ] a) | ArrayList ๊ฐ์ฒด์ ์๋ ๊ฐ๋ค์ ๋งค๊ฐ ๋ณ์๋ก ๋์ด์จ Tํ์ ์ ๋ฐฐ์ด๋ก ๋ง๋ ๋ค |
void | clear() | ArrayList ๊ฐ์ฒด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค |
E | remove(int index) | ํ๋ผ๋ฏธํฐ์์ ์ง์ ํ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ๊ทธ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ค |
boolean | remove(Object o) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด์ ๋์ผํ '์ฒซ ๋ฒ์งธ'๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค |
boolean | removeAll(Collection< ? > c ) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ์ปฌ๋ ์ ๊ฐ์ฒด์ ์๋ ๋ฐ์ดํฐ์ ๋์ผํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค. |
E | set(int index, E element) | ์ง์ ํ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ element๋ก ๋์ฒดํ๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋น ์์น์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ค |
List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ ArrayList, LinkedList๋ง์ด ์๋๋๋ค.
LIFO(Last in First Out)์ ๊ตฌํํ ๋ฆฌ์คํธ์ธ Stack
์ด ์กด์ฌํฉ๋๋ค.
ํ์ง๋ง LIFO ๊ตฌํ์ ์ํ๋ค๋ฉด ArrayDeque
๋ฅผ ์ฌ์ฉํ๋๊ฒ ๋ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
ArrayDeque๋ Stack๋ณด๋ค ์๋๊ฐ ๋น ๋ฅด์ง๋ง Thread Safe
ํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ Thread Safeํ LIFO ์๋ฃ๊ตฌ์กฐ๊ฐ ํ์ํ๋ค๋ฉด Stack์, Thread Safe๊ฐ ํ์ํ์ง ์๋ค๋ฉด
ArrayDeque๋ฅผ ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
Stack์ ๊ธฐ๋ณธ์ ์ผ๋ก Collection, List, Vector๋ฅผ ์์๋ฐ๊ธฐ ๋๋ฌธ์ ํด๋น ์ธํฐํ์ด์ค์
์กด์ฌํ๋ ๋ฉ์๋๋ค์ ๋ชจ๋ ๊ตฌํํ๊ณ ์์ต๋๋ค. ์ฌ์ค ์ด ๋ฉ์๋๋ค์ ๋ชจ๋ ๊ตฌํ๋ฐ์ผ๋ฉด
LIFO ์์น์ ์ด๊ธ๋๋ ๊ฒฝ์ฐ๊ฐ ์๊ธฐ์ง๋ง, ์๋ฐ์ ํ์ ํธํ์ ์ํ์ฌ ์ด ๊ด๊ณ๋ฅผ ์ ์งํ๊ณ ์์ต๋๋ค.
๋ฆฌํด ํ์ | ๋ฉ์๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ | ์ค๋ช |
---|---|---|
boolean | empty() | ๊ฐ์ฒด๊ฐ ๋น์ด์๋์ง ํ์ธํ๋ค |
E | peek() | ๊ฐ์ฒด์ ๊ฐ์ฅ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ค |
E | pop() | ๊ฐ์ฒด์ ๊ฐ์ฅ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ณ ๋ฆฌํดํ๋ค |
E | push(E item) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ item์ ๊ฐ์ฅ ์์ ์ ์ฅํ๋ค |
int | search(Object o) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฆฌํดํฉ๋๋ค |
Set ์ปฌ๋ ์
์ ์์๊ฐ ์ค์ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
Set์ ์์์ ๊ด๊ณ ์์ด ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ค์ง ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋๋์ง๋ฅผ ๊ฒ์ฌํ๊ณ
์ํ๋ ๊ฐ์ด ์กด์ฌํ๋์ง๋ง ๊ฒ์ฌํ ๋ ์ฌ์ฉํ๋ฉด ์ ๋ฆฌํ ์๋ฃ๊ตฌ์กฐ์
๋๋ค.
Set์ ๊ตฌํํ ์ปฌ๋ ์ ์ ๋จ์ํ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด์ ๊ฐ์ด Set์ ๊ตฌํํ ๊ตฌํ์ฒด๋ค ์ฌ์ด์ ์ฑ๋ฅ์ ๋๋๋ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ค์ ์ ๋ ฌ ์ฌ๋ถ์
๋๋ค.
๋จ์ํ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐ์๋ ์ฑ๋ฅ ์ฐจ์ด๊ฐ ํฌ๊ฒ ๋๊ปด์ง์ง ์์ ์ ์์ง๋ง ๋ช ์ฒ๊ฑด, ๋ช ๋ง๊ฑด์
๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ค ๋ณด๋ฉด ์ด ์ฑ๋ฅ ์ฐจ์ด๊ฐ ์ค์ํ๊ฒ ๋ค๊ฐ์ฌ ์ ์์ต๋๋ค.
Set์์ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ํ ์ ์๋ ๋ถ๋ถ์ ๋ฐ์ดํฐ์ ์ค๋ณต ์ฌ๋ถ์
๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๊ฐ
๊ฐ์์ง ํ์ธํ๋ ์์
์ Set์ ํต์ฌ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
HashSet์ ์์ ArrayList์ ๊ตฌํํ ์ธํฐํ์ด์ค๊ฐ ์กฐ๊ธ ๋ค๋ฅธ๋ฐ, ๋๋จธ์ง๋ ๋์ผํ์ง๋ง
HashSet์ List์ RandomAccess๋ฅผ ๊ตฌํํ์ง ์์ต๋๋ค. ๋์ Set< E > ์ธํฐํ์ด์ค๋ฅผ
๊ตฌํํฉ๋๋ค.
Set ์ธํฐํ์ด์ค๋ ๋ฐ์ดํฐ์ ์์น์ ๊ด๋ จ๋ ๋ฉ์๋๋ค์ด ํฌํจ๋์ง ์๋ ํน์ฑ์
๊ฐ์ง๊ณ ์์ต๋๋ค.
์์ฑ์ | ์ค๋ช |
---|---|
HashSet() | ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ 16๊ฐ์ ๊ณต๊ฐ๊ณผ 0.75์ loadFactor๋ฅผ ๊ฐ์ง๋ ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. |
HashSet(Collection< ? extends E > c) | ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด์จ ์ปฌ๋ ์ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฅผ HashSet์ ๋ด์ต๋๋ค. |
HashSet(int initialCapacity) | ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด์จ ๊ฐ ๋งํผ์ ๋ฐ์ดํฐ ์ ์ฅ ๊ณต๊ฐ๊ณผ 0.75์ ๋ก๋ํฉํฐ๋ฅผ ๊ฐ์ง๋ ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค. |
HashSet(int initalCapacity, float loadFactor) | ์์ ์์ฑ์์์ ๋ก๋ํฉํฐ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ค์ ํฉ๋๋ค. |
loadFactor
๋ก๋ํฉํฐ๋ ๋ฐ์ดํฐ์ ๊ฐ์ / ์ ์ฅ ๊ณต๊ฐ์ ์๋ฏธํฉ๋๋ค. ๋ก๋ํฉํฐ๊ฐ๋ณด๋ค ์ ์ฌ์จ์ด ์ปค์ง๋ฉด ํด์ ์ฌ์ ๋ฆฌ
์์
(rehash)์ ์ํํฉ๋๋ค ์ด ์์
์ ์ฑ๋ฅ์ ์ํฅ์ ๋ผ์นฉ๋๋ค.
๋ฆฌํด ํ์ | ๋ฉ์๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ | ์ค๋ช |
---|---|---|
boolean | add(E e) | ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค |
void | clear() | ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค. |
Object | clone() | HashSet ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ์ง๋ง, ๋ด๊ฒจ ์๋ ๋ฐ์ดํฐ๋ ๋ณต์ฌํ์ง ์์ต๋๋ค |
boolean | contains(Object o) | ์ง์ ํ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋์ง ๊ฒ์ฌํฉ๋๋ค |
boolean | isEmpty() | ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง ํ์ธํฉ๋๋ค |
Iterator< E > | iterator() | ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ด๊ธฐ ์ํ Iterator ๊ฐ์ฒด๋ฅผ ๋ฆฌํดํฉ๋๋ค |
boolean | remove(Object o) | ํ๋ผ๋ฏธํฐ๋ก ๋์ด์จ ๊ฐ์ฒด๋ฅผ ์ญ์ ํฉ๋๋ค |
int | size() | ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ํ์ธํฉ๋๋ค |
TreeSet, LinkedHashSet์ ์ถ๊ฐ์ ์ธ ์ค๋ช
์ผ๋ก๋ง ์์ฑํ๋๋ก ํ๊ฒ ์ต๋๋ค.
TreeSet์ add์ ์์์ ๊ด๊ณ์์ด '1-9', 'a-z'์ ๊ฐ์ ๊ฐ์ ์์๋๋ก ์ ๋ ฌ์ ํด
๊ฐ์ง๊ณ ์๋ Set์ ๋ปํ๋ฉฐ
LinkedHashSet์ ๋ค์ด์จ ์์์ ๋ฐ๋ผ์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๋ง์น ArrayList์ ๊ฐ์
Set์
๋๋ค.
Set์ ์ฑ๋ฅ์ ์์๋ ๋งํ๋ฏ์ด HashSet > TreeSet > LinkedHashSet ์ ๋๋ค.
LinkedList๋, ํน์ดํ๊ฒ List์ Queue๋ฅผ ๋ชจ๋ ๊ตฌํํ๋ ๊ตฌํ์ฒด์
๋๋ค. LinkedList๋
๋ฐ์ดํฐ๊ฐ์ ์ฐ๊ฒฐ ๊ด๊ณ์ ์ง์คํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ ์ด์ ๊ฐ์ ๊ตฌ์กฐ๋
๋ฐฐ์ด ๋๋ ArrayList, Vector๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ธก๋ฉด์์ ์ด์ ์ ๊ฐ์ง๋๋ค.
์ญ์ ๋๋ ์ฝ์
์์ ๊ทธ ๋ถ๋ถ ๋ฐ์ดํฐ๊ฐ์ ๊ด๊ณ๋ง ์กฐ์ ํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์
LinkedList๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ธก๋ฉด์์๋ ๋ ์ด์ ์ ๊ฐ์ง๋ค๊ณ ํ ์ ์์ต๋๋ค.
LinkedList๋ Queue, Deque๋ฅผ ๋ชจ๋ ๊ตฌํํ๋ฏ๋ก LinkedList๋ฅผ ๊ฐ์ง๊ณ
ํด๋น ํด๋์ค์ ํฌํจ๋ ๋ฉ์๋๋ค๋ ๊ฐ์ด ์ค๋ช
ํ๋๋ก ํ๊ฒ ์ต๋๋ค.
LinkedList๋ ArrayList์ ๋ฌ๋ฆฌ RandomAccess๋ฅผ ๊ตฌํํ์ง ์์ผ๋ฉฐ ๋์
Deque< E >, Queue< E > ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๊ตฌํํฉ๋๋ค.
Deque๋ ๋งจ ์๊ณผ ๋งจ ๋ค์ ๊ฐ์ ์ฒ๋ฆฌํ๋ ํ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๊ณ
Queue๋ FIFO(First-In First-Out)์ ๊ตฌํํ๋ ๊ตฌํ์ฒด์
๋๋ค.
์์ฑ์ | ์ค๋ช |
---|---|
LinkedList() | ๋น์ด ์๋ LinkedList ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค |
LinkedList(Collection< ? extends E > c) | ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ปฌ๋ ์ ๊ฐ์ฒด์ ๋ฐ์ดํฐ๋ฅผ LinkedList์ ๋ด์ต๋๋ค |
๋ฆฌํด ํ์ | ๋ฉ์๋ ์ด๋ฆ, ํ๋ผ๋ฏธํฐ | ์ค๋ช |
---|---|---|
void | addFirst(Object) | LinkedList ๊ฐ์ฒด์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค |
boolean | offerFirst(Object) | " " |
void | push(Object) | " " |
boolean | add(Object) | LinkedList ๊ฐ์ฒด์ ๊ฐ์ฅ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค |
void | addLast(Object) | " " |
boolean | offer(Object) | " " |
boolean | offerLast(Object) | " " |
void | add(int Object) | LinkedList ๊ฐ์ฒด์ ํน์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค |
Object | set(int, Object) | LinkedList ๊ฐ์ฒด์ ํน์ ์์น์ ๋ฐ์ดํฐ๋ฅผ ๊ต์ฒดํ๊ณ ์๋์ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํฉ๋๋ค |
boolean | addAll(Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํฉ๋๋ค |
boolean | addAll(int, Collection) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ํน์ ์ธ๋ฑ์ค ์์น๋ถํฐ ์ถ๊ฐํฉ๋๋ค |
Object | getFirst() | LinkedList ๊ฐ์ฒด์ ๋งจ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํฉ๋๋ค |
Object | peekFirst() | " " |
Object | peek() | " " |
Object | element() | " " |
Object | getLast() | LinkedList ๊ฐ์ฒด์ ๋งจ ๋ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํดํฉ๋๋ค |
Object | peekLast() | " " |
Object | get(int) | LinkedList ๊ฐ์ฒด์ ํน์ ์ธ๋ฑ์ค์ ์์นํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค |
boolean | contains(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ๋ฐ์ดํฐ๋ฅผ ๋ณด์ ํ๊ณ ์๋์ง ๊ฒ์ฌํฉ๋๋ค |
int | indexOf(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฆฌํดํฉ๋๋ค. ์์ผ๋ฉด -1์ ๋ฆฌํดํฉ๋๋ค |
int | lastIndexOf(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋์์๋ถํฐ ๊ฒ์ํ์ฌ ๋ฆฌํดํฉ๋๋ค. ์๋ ๊ฒฝ์ฐ -1์ ๋ฆฌํดํฉ๋๋ค |
Object | remove() | LinkedList ๊ฐ์ฒด์ ๊ฐ์ฅ ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ๋ฆฌํดํฉ๋๋ค |
Object | removeFirst() | " " |
Object | poll() | " " |
Object | pollFirst() | " " |
Object | pop() | " " |
Object | pollLast() | LinkedList ๊ฐ์ฒด์ ๊ฐ์ฅ ๋์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ๋ฆฌํดํฉ๋๋ค. |
Object | removeLast() | " " |
Object | remove(int) | ํน์ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ ๋ฆฌํดํฉ๋๋ค |
boolean | remove(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ๋ฐ์ดํฐ์ ๋์ผํ ๋ฐ์ดํฐ ์ค ์์์๋ถํฐ ์์ธํ์ฌ ์ญ์ ํฉ๋๋ค |
boolean | removeFirstOccurrence(Object) | " " |
boolean | removeLastOccurrenct(Object) | ํ๋ผ๋ฏธํฐ๋ก ๋๊ธด ๋ฐ์ดํฐ ์ค ๋ค์์๋ถํฐ ์์ธํ์ฌ ์ญ์ ํฉ๋๋ค |
LinkedList๋ ์ฌ๋ฌ ์ข
๋ฅ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋
๋ฉ์๋๋ค์ ๋ง์ด ๊ฐ์ง๊ณ ์๋ค๋ ํน์ง์ด ์์ต๋๋ค.