๐ ์ฐธ๊ณ ํ ์ฑ
- ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ์ ๋ฆฌํ๊ณ ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๊ฒ๋ค์ ์ ๋ฆฌํ์ต๋๋ค -
๐ฅ ๐ฅ ๐ฅ
โ๏ธ ์ปฌ๋ ์ ํ๋ ์์ํฌ_ 624p
• ์ปฌ๋ ์ (collection)
: ๋์ผํ ํ์ ์ ๋ฌถ์ด ๊ด๋ฆฌํ๋ ์๋ฃ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ์ ์ ์ฅ ์ฉ๋์ ๋์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
• ํ๋ ์์ํฌ(framework)
: ์ค๊ณ์ ์์น ๋๋ ๊ตฌ์กฐ์ ๋ฐ๋ผ ํด๋์ค ๋๋ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ๊ณ , ์ค๊ณ๋ ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ๋ฌถ์ด ๋์ ๊ฐ๋ ์ด๋ค.
• ์ปฌ๋ ์ ํ๋ ์์ํฌ
: ๋ฆฌ์คํธ, ์คํ, ํ, ํธ๋ฆฌ ๋ฑ์ ์๋ฃ๊ตฌ์กฐ์ ์ ๋ ฌ, ํ์ ๋ฑ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์กฐํํด ๋์ ํ๋ ์์ํฌ
Q. ์ปฌ๋ ์ ๊ณผ ๋ฐฐ์ด์ ์ฐจ์ด์ ์?
A. ๋ฐฐ์ด์ ์์ฑ ์์ ์ ์ ์ฅ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ ํ์ ํ๋ฉฐ ํ์ ํ ํ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ฐ๋ฉด์ ์ปฌ๋ ์ ์ ๋ฐ์ดํฐ์ ๊ฐ์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์ ์ฅ๊ณต๊ฐ์ด ๋ฌ๋ผ์ง๋ค.
Q. ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด์ ์?
A. ์ผ๋ฐ์ ์ผ๋ก ๋จ์ํ ์ฐ๊ด๋ ํด๋์ค์ ์ธํฐํ์ด์ค๋ค์ ๋ฌถ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ํ๋ค. ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ์ฃผ๋๊ถ์ ๋๊ฐ ์ฅ๊ณ ์๋์ง๋ผ๊ณ ์๊ฐํ๋ค. ํ๋ ์์ํฌ๋ ์ค์ค๋ก ์ ์ด ํ๋ฆ์ ์ฃผ๋๊ถ์ ์ก์ผ๋ฉด, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ์ฃผ๋๊ถ์ ๊ฐ์ง๊ณ ์๋ค. ํ๋ ์์ํฌ๋ ํฐ ํ๋ก ๊ฐ๋ฐํ ์ ์๋ ๋ฒ์์ ๋ฐ๋ผ์ผ ํ ๊ฐ์ด๋๊ฐ ์กด์ฌํ๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํน์ ๊ธฐ๋ฅ์ ๋์์ฃผ๋ ๋๊ตฌ์ ๊ฐ์ ์ญํ ์ ํ๋ค.
โ๏ธ List<E> ์ปฌ๋ ์ ์ธํฐํ์ด์ค_ 626p
• List<E>
: ์ธํฐํ์ด์ค๋ฉฐ ๋ํ์ ์ธ ํด๋์ค๋ก ํฌ๊ฒ ArrayList<E>, Vector<E>, LinkedList<E>๊ฐ ์๋ค.
List<Integer> aList1 = new ArrayList<Integer>();
ArrayList<Integer> aList2 = new ArrayList<Integer>(30);
Vector<String> aList3 = new Vector<String>();
List<MyWork> aList4 = new LinkedList<MyWord>();
List<MyWork> aList5 = new LinkedList<MyWord>(20); // ์ค๋ฅ ๋ฐ์!!
์ ๋ค๋ฆญ์ ๋ํด ๋ฐฐ์ ์๋ค. ์ ๋ค๋ฆญ์ ํด๋์ค ๋ด๋ถ์์ ์ฌ์ฉํ ๋ฐ์ดํฐ ํ์ ์ ์ธ๋ถ์์ ์ง์ ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฒ์ผ๋ก, ๊บพ์ ๊ดํธ< >์์ ํ์ ์ ์ ๋๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ง์ ํ ํ์ ๊ณผ ๋ค๋ฅธ ํ์ ์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ ์์ ์ ์ค๋ฅ๋ฅผ ๋ฐ์์์ผ, ํ์ ์์ ์ฑ์ ๋ณด์ฅํด์ค๋ค.
List<E> ์์ฒด๋ ์ ๋ค๋ฆญ ์ธํฐํ์ด์ค๋ก ์ด๋ฅผ ์์ํ ์์ ํด๋์ค ๋ชจ๋ ์ ๋ค๋ฆญ ํด๋์ค๊ฐ ๋๋ค. ์ฆ, ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์ ๋ค๋ฆญ์ ์ค์ ํ์ ์ ์ง์ ํด์ผ ํ๋ค. <E>์์ E๋ ์์์ Element๋ฅผ ๋ปํ์ฌ ์ฌ๊ธฐ์ ์ด๋ค ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ ์ง ์ธ๋ถ์์ ์ง์ ํ๋ค. aList1์ Integer๋ก ์ง์ ๋์์ผ๋ ์ ์๋ง ์ ์ฅํ ์ ์๋ List๊ฐ ๋์๋ค.
aList1์ ๋ถ๋ชจ ํ์ ์ธ List<E>๋ก ์ ์ธํ๊ณ , aList3์ ์์ ํด๋์ค์ธ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ ํด๋์ค ํ์ ์ผ๋ก ์ ์ธํ๋ค. ์ด๋ ์๋ฐ์ ๋คํ์ฑ์ ํ์ฉํ ๊ฒ์ผ๋ก, ์ปฌ๋ ์ ๊ฐ์ฒด๋ ๋ถ๋ชจ ํ์ (List)์ผ๋ก๋ ์ ์ธํ ์ ์๊ณ , ๊ตฌ์ฒด์ ์ธ ์์ ํด๋์ค(ArrayList, LinkedList ๋ฑ)๋ก๋ ์ ์ธํ ์ ์๋ค.
LinkedList<E>๋ฅผ ์ ์ธํ ๋๋จธ์ง ๋ํ ๊ตฌํ ํด๋์ค๋ ์ด๊ธฐ ์ ์ฅ ์ฉ๋์ ๋งค๊ฐ๋ณ์๋ก ํฌํจํ๊ณ ์๋ ์์ฑ์๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๋ ์ ์ฅ ์ฉ๋์ ์ค์ ๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์ ์ฅ ๊ณต๊ฐ์ ํฌ๊ธฐ์๋ ๋ค๋ฅธ ๊ฐ๋ ์ผ๋ก, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ๋ฏธ๋ฆฌ ํ ๋นํด ๋์ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ผ๊ณ ์๊ฐ๋ฉด ๋๋ค.
Q. ์ ๋ค๋ฆญ์ ์ฐ์ง ์์ List๋ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น?
A. ํ์ ์ ์ง์ ํ์ง ์์ List๋ก Object ํ์ ์ผ๋ก ๊ฐ์ฃผ๋์ด ์๋ฌด ํ์ ์ด๋ ๋ฃ์ ์ ์๋ค. ํ์ง๋ง ๊บผ๋ผ ๋ ์ผ์ผ์ด ํ๋ณํ์ด ํ์ํ๋ฉฐ ์ปดํ์ผ ์ ์ค๋ฅ๋ฅผ ์ก์ ์ ์๋ค๋ ๋จ์ ์ ์ง๋๊ณ ์๋ค.
List list = new ArrayList(); list.add("Hello"); list.add(123);โ
• Arrays.asList( )
: ๋ฐฐ์ด์ ๋ฆฌ์คํธ๋ก ๋ณํํ๋ ๋ฉ์๋, ๋ด๋ถ์ ์ผ๋ก ๋ฐฐ์ด์ ๋จผ์ ์์ฑํ ํ List<E>๋ก ๋ํํ๊ธฐ ๋๋ฌธ์ ์ ์ฅ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
List<Integer> aList7 = Arrays.asList(1,2,3,4);
List<String> aList8 = Arrays.asList("์๋
","ํ์ธ์");
Arrays.asList( ) ์ ์ ๋ฉ์๋๋ ๋ด๋ถ ๊ตฌ์กฐ๊ฐ ๋ฐฐ์ด๊ณผ ๋์ผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ(add( ))ํ๊ฑฐ๋ ์ญ์ (remove( ))๊ฐ ๋ถ๊ฐํ๋ค. ๋ค๋ง ์ ์ฅ ๊ณต๊ฐ์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์๋ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ(set( ))์ ๊ฐ๋ฅํ๋ค. ์ฃผ๋ก ๊ณ ์ ๋ ๊ฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ํ์ฉํ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค.(์๋ก ์์ผ์ด ์๋ค.)
• List<E>์ ์ฃผ์ ๋ฉ์๋
๊ตฌ๋ถ | ๋ฆฌํด ํ์ | ๋ฉ์๋๋ช | ๊ธฐ๋ฅ |
๋ฐ์ดํฐ ์ถ๊ฐ |
boolean | add(E element) | ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ ์์๋ฅผ ๋ฆฌ์คํธ ๋ง์ง๋ง์ ์ถ๊ฐ |
void | add(int index, E element) | index ์์น์ ์ ๋ ฅ๋ ์์ ์ถ๊ฐ | |
boolean | addAll(Collection<? Extends E> c) | ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ ์ปฌ๋ ์ ์ ์ฒด๋ฅผ ๋ง์ง๋ง์ ์ถ๊ฐ | |
boolean | addAll(int index, Collection <? Extends E> c) |
index ์์น์ ์ ๋ ฅ๋ ์ปฌ๋ ์ ์ ์ฒด๋ฅผ ์ถ๊ฐ | |
๋ฐ์ดํฐ ๋ณ๊ฒฝ | E | set(int index, E element) | index ์์น์ ์์๊ฐ์ ์ ๋ ฅ๋ ์์๋ก ๋ณ๊ฒฝ |
๋ฐ์ดํฐ ์ญ์ | E | remove(int index) | index ์์น์ ์์๊ฐ ์ญ์ |
boolean | remove(Object o) | ์์ ์ค ๋งค๊ฐ๋ณ์ ์ ๋ ฅ๊ณผ ๋์ผํ ๊ฐ์ฒด ์ญ์ | |
void | clear( ) | ์ ์ฒด ์์ ์ญ์ | |
๋ฆฌ์คํธ ๋ฐ์ดํฐ ์ ๋ณด์ถ์ถ |
E | get(int index) | index ์์น์ ์์๊ฐ์ ๊บผ๋ด ๋ฆฌํด |
int | size( ) | ๋ฆฌ์คํธ ๊ฐ์ฒด ๋ด์ ํฌํจ๋ ์์์ ๊ฐ์ | |
boolean | isEmpty( ) | ๋ฆฌ์คํธ์ ์์๊ฐ ํ๋๋ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ฆฌํด | |
๋ฆฌ์คํธ ๋ฐฐ์ด ๋ณํ |
Object[ ] | toArray( ) | ๋ฆฌ์คํธ๋ฅผ Object ๋ฐฐ์ด๋ก ๋ณํ |
T[ ] | toArray(T[] t) | ์ ๋ ฅ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ ํ์ ์ ๋ฐฐ์ด๋ก ๋ณํ |
โ๏ธ ArrayList<E> ๊ตฌํ ํด๋์ค_ 632p
• ArrayList<E>
: List<E> ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ตฌํ ํด๋์ค๋ก ์์งํ ์์๋ฅผ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌํ์ฌ ์ ์ฅ ์ฉ๋์ ๋์ ์ผ๋ก ๊ด๋ฆฌํ๋ค.
List<Integer> aList1 = new ArrayList<Integer>();
aList1.add(1);
aList1.add(2);
System.out.println(aList1.toString()); // aList1=[1,2]
aList1.addAll(1,aList1);
System.out.println(aList1.toString()); // aList1=[1,1,2,2]
aList1.set(1,5);
System.out.println(aList1.toString()); // aList1=[1,5,2,2]
aList1.remove(1);
System.out.println(aList1.toString()); // aList1=[1,2,2]
aList1.remove(new Integer(2));
System.out.println(aList1.toString()); // aList1=[1]
aList1.clear();
System.out.println(aList1.toString()); // aList1=[]
add๋ ๊ฐ์ ์ถ๊ฐํ๊ณ addAll์ aList1 ์ ์ฒด๋ฅผ 1๋ฒ์งธ์ ์ถ๊ฐํ๋ค๋ ์๋ฏธ์ด๋ค. set์ ๊ฒฝ์ฐ ๋ณ๊ฒฝ์ ์๋ฏธํ๋๋ฐ, ์ธ๋ฑ์ค 1๋ฒ์งธ ๊ฐ์ 5๋ก ๋ฐ๊ฟจ๋ค. remove๋ ๋๊ฐ์ง๋ก ๋๋๋ค. remove(int index)๋ก ์ธ๋ฑ์ค ๊ฐ์ ์ฐพ์ ์ญ์ ํ๋ ๊ฒ๊ณผ remove(Object o)๋ก ๊ฐ์ ์ญ์ ํ๋ ๊ฒ. ๊ทธ๋์ aList1.remove(1)์ 1๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ์ญ์ ํ๊ณ , aList.remove(new Integer(2))๋ ์ซ์ 2๋ฅผ ์ฐพ์ ์ญ์ ํ๋ค. clear์ ๋ชจ๋ ์์๋ฅผ ์ญ์ ํ๋ค๋ ์๋ฏธ๋ค.
Q. remove์์ ์์์ ๊ฐ์ ์ญ์ ํ๊ณ ์ถ์ ๋ new Integer(2)์ ๊ฐ์ด ์ฐ๋๋ฐ, ์ new๋ฅผ ๋ถ์ด๋๊ฑธ๊น?
A. ์ธ๋ฑ์ค ๊ฐ์ผ๋ก ์ญ์ ํ๋ ๋ฐฉ์๊ณผ ํผ๋ํ์ง ์๊ธฐ ์ํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋ก ํ๋ค. alist.remove(new Integer(2))์ ๊ฐ์ด 2์ด integer ๊ฐ์ฒด๋ฅผ ์ฐพ์ ์ญ์ ํ๋ผ๋ ์๋ฏธ๋ก ์ผ๋ จ์ ๊ณผ์ ์ ์ดํด๋ณด์. ์ฒซ๋ฒ์งธ๋ก new Integer(2)์ ํตํด ๊ฐ์ด 2์ธ Integer ๊ฐ์ฒด๋ฅผ ํ๋ ์์ฑํ๋ค. ๊ทธ ๋ค์ remove(Object o)๋ฅผ ํธ์ถํ๋ฉด์ ์ด ๊ฐ์ฒด๋ฅผ ์ธ์๋ก ๋๊ธด๋ค. ๋ฆฌ์คํธ๋ ๋ด๋ถ์ ์ผ๋ก equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋ฆฌ์คํธ ์์ ์๋ ์์๋ค๊ณผ ์ด ๊ฐ์ฒด2๊ฐ ๊ฐ์์ง ๋น๊ต ํ ๊ฐ์ ๊ฐ์ด ์์ผ๋ฉด ์ญ์ ํ๋ค. Java 5๋ถํฐ ์คํ ๋ฐ์ฑ(๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ ์๋์ ์ผ๋ก ์ฒ๋ฆฌ)์ด ์์ด์ remove(Integer.valueOf(2))์ด๋ remove((Integer)2)๋ ๊ฐ๋ฅํ๊ธฐ๋ ํ๋ new๋ฅผ ์ฌ์ฉํด์ ์ญ์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์์ ํ๋ค.
List<Integer> aList2 = new ArrayList<Integer>();
System.out.println(aList2.isEmpty); // true
aList2.add(1);
aList2.add(2);
aList2.add(3);
System.out.println(aList2.toString()); // aList2 = [1,2,3]
System.out.println("size: " + aList2.size()); // size: 3
System.out.println("0๋ฒ์งธ: " + aList2.get(0))); // 0๋ฒ์งธ: 1
isEmpty( )๋ ๋ฐ์ดํฐ๊ฐ ํ๋๋ ์์ ๋๋ง true๊ฐ์ ๋ฆฌํดํ๋ค. ์ฃผ๋ก ๋ฐ์ดํฐ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ ๋ ์ฌ์ฉํ๋ค. size( )๋ ์ค์ ๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๋ฆฌํดํ๋ฉฐ ์ถ๊ฐ์ ์ญ์ ๊ฐ ์ด๋ค์ง๋ฉด ๊ทธ๋๋ง๋ค ๊ฐ์ ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ค. get(int index)๋ ํน์ ์์น์ ๊ฐ์ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉํ๋ค.
Q. ์ ์ํ์ ๋ด๋ ๋ฆฌ์คํธ์ธ๋ฐ ์ถ๋ ฅํ ๋ toString( )์ ์ฌ์ฉํด์ผํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น?
A. toString( ) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์์๋ ์๋์ผ๋ก ํธ์ถ๋๊ธด ํ๋๋ฐ, ๊ฒฐ๊ตญ ๋ด๋ถ์ ์ผ๋ก toString์ ์ฌ์ฉํ๊ณ ์๋ค. toString์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฅผ ๋ณด๋ฉด ๋ฌธ์์ด์ ์ถ๋ ฅํ ๊ฒฝ์ฐ ํน์ ๊ฐ์ฒด๋ฅผ ์ถ๋ ฅํ๋ ๊ฒฝ์ฐ์ด๋ค. ๋ฆฌ์คํธ์ ๋ด๊ฒจ์๋ ๊ฒ์ด ์ ์ ํ์ ์ด์ด๋ ๋ฆฌ์คํธ ์์ฒด๋ฅผ ๊ฐ์ฒด๋ก ๋ถ๋ฅํ๊ธฐ ๋๋ฌธ์ Object๋ก์ toString( )์ ํธ์ถํ๋ค.
โ๏ธ Vector<E>, LinkedList<E> ๊ตฌํ ํด๋์ค_ 639p
• Vector<E>
: List<E> ๊ณตํต์ ์ธ ํน์ฑ์ ๊ฐ์ง๋ฉฐ, ๋๊ธฐํ ๋ฉ์๋๋ก ๊ตฌํ๋ผ ๋ฉํฐ ์ฐ๋ ๋์ ์ ํฉํ๋ค.
List<Integer> vector1 = new Vector<Integer>();
๋๊ธฐํ๋ฉ์๋(synchronized method)๋ก ๊ตฌํ๋ Vector<E>๋ ํ๋์ ๊ณต์ ๊ฐ์ฒด๋ฅผ 2๊ฐ์ ์ฐ๋ ๋๊ฐ ๋์์ ์ฌ์ฉํ ์ ์๋ค. ํ๋์ ์ฐ๋ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ๋ ํ๋์ ์ฐ๋ ๋๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ์์ ์ ๋์์ ์ํํด ์์ ์ด ์ถฉ๋ํ๋ ์ํฉ์ ๋ฐฉ์งํ๋ค. Vector<E>๋ ArrayList<E>์ ๋์ผํ ๊ธฐ๋ฅ์ ์ํํ์ง๋ง, ๋ฉํฐ ์ฐ๋ ๋์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค. ๋ง์ฝ ํ๋์ ์ฐ๋ ๋๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ Vector<E>๋ง๊ณ ArrayList<E>๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ๋ค.
• LinkedList<E>
: List<E> ๊ณตํต์ ์ธ ํน์ฑ์ ๊ฐ์ง๋ฉฐ, ์๋ค ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฉฐ ๊ฐ์ฒด ์์ฑ์ ์ ์ฅ ์ฉ๋์ ์ง์ ํ ์ ์๋ค.
List<E> aLinkedList1 = new LinkedList<Integer>();
LinkedList<E>๋ ArrayList<E>์ ๊ฐ์ด ๋๊ธฐํํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฑ๊ธ ์ฐ๋ ๋์ ์ ํฉํ๋ค. ArrayList<E>์ ๋ค๋ฅธ ์ ์ ์ ์ฅ ์ฉ๋์ ๋งค๊ฐ๋ณ์๋ก ๊ฐ๋ ์์ฑ์๊ฐ ์์ด ์ ์ฅ ์ฉ๋์ ์ง์ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ์์ด ๋ค๋ฅธ๋ฐ, ArrayList<E>๋ ์ธ๋ฑ์ค์ ๊ฐ์ผ๋ก ์ ์ฅํ์ง๋ง LinkedList<E>๋ ์๋ค ๊ฐ์ฒด์ ์ ๋ณด๋ฅผ ์ ์ฅํ์ฌ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์ด๋ฃฌ๋ค.
0๋ฒ์งธ์ ์๋ก์ด ์์ ํ๋๊ฐ ๋ค์ด์ฐ๋ค. ArrayList<E>๋ 0๋ฒ์งธ ์ดํ์ ๋ชจ๋ ์์๋ค์ด ๋ค๋ก ๋ฐ๋ ค๋๋ค. ํ์ง๋ง LinkedList<E>๋ ๊ฐ ์์์ ์๋ค ๊ฐ์ฒด ์ ๋ณด๋ง ๊ฐ์ง๊ณ ์ค๋ฉด ๋๋ฏ๋ก ์ด๋๊ฐ์ ๊ฐ์ด ์ถ๊ฐ๋์ด๋ ์๋ค ์ ๋ณด๋ง ์์ ํ๋ฉด ๋๋ค. ์ด๋ฐ ๊ฒ์ ์ดํด๋ณด๋ฉด ๊ฐ์ด ์ถ๊ฐ๋๋ฉด ArrayList<E>์ ์๋๊ฐ LinkedList<E>๋ณด๋ค ๋๋ฆฐ ๊ฒ์ ์ ์ ์๋ค. ๋์ ์ด๋ค ๊ฐ์ ์ฐพ์์ผํ๋ ์ํฉ์ด๋ผ๋ฉด, ์ธ๋ฑ์ค ๋ฒํธ๋ก ์ฐพ์ ์ ์์ผ๋ ์ฒ์๋ถํฐ ํ๋ํ๋ ํ์ธํด์ผํ๋ LinkedList<E>๊ฐ ํจ์ฌ ๋๋ฆด ๊ฒ์ด๋ค.
'๐ Java > ์๋ฐ์์ ์ ๋ณต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] Set<E> ์ปฌ๋ ์ ์ธํฐํ์ด์ค, HashSet<E>, LinkedHashSet<E>, TreeSet<E> ์ฐจ์ด์ (1) | 2025.07.07 |
---|---|
[Java] ์ ๋ค๋ฆญ (1) | 2025.05.27 |
[Java] ์ฐ๋ ๋ ๋๊ธฐํ, ์ฐ๋ ๋ ์ํ (0) | 2025.05.26 |
[Java] ์ฐ๋ ๋, ์ฐ๋ ๋์ ์์ฑ, ๋ฐ๋ชฌ์ฐ๋ ๋ (0) | 2025.05.20 |
[Java] ์์ธ์ฒ๋ฆฌ, ์์ธ์ ๊ฐ, ์ฌ์ฉ์ ์ ์ ์์ธ ํด๋์ค (0) | 2025.05.14 |