02. List ๐
1. List์ ํน์ง - ์์ โญ๏ธ ์ค๋ณต โ
- ๋ชฉ๋ก์์ ๊ฐ ์์๊ฐ ์ฝ์ ๋๋ ์์น๋ฅผ ์ ์ด ๊ฐ๋ฅ
- ์์๋ฅผ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌํ๋ฉฐ, ์ธ๋ฑ์ค๋ก ์์๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋ค.
- ๋์ผํ ์์(๊ฐ์ฒด)๋ฅผ ์ค๋ณตํด์ ์ ์ฅํ ์ ์๋ค.
- List ์ปฌ๋ ์ ์ ๊ฐ์ฒด ์์ฒด๊ฐ ์ ์ฅ๋๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ฒด์ ๋ฒ์ง๋ฅผ ์ฐธ์กฐํ๋ค.
- null ๋ ์ ์ฅ์ด ๊ฐ๋ฅ (null์ ์ ์ฅํ ๊ฒฝ์ฐ ํด๋น ์ธ๋ฑ์ค๋ ๊ฐ์ฒด ์ฐธ์กฐX)
โก ์ฃผ์ ๊ตฌํ ํด๋์ค ArrayList, LinkedList, Vector, Stack
2. List ์ธํฐํ์ด์ค์ List ์ธํฐํ์ด์ค ๊ตฌํ ํด๋์ค ๊ณ์ธต๋(hierarchies)
โญ๏ธ ArrayList์ LinkedList๊ฐ ํต์ฌ
List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๊ฐ ์ฌ๋ฟ ์์
Vector(Old ๋ฒ์ )์ ArrayList(New ๋ฒ์ )๋ ์ ์ฌ
ArrayList
List ์ธํฐํ์ด์ค ๊ตฌํ ํด๋์ค
๊ฒ์์ ์๋๊ฐ ๋น ๋ฆ
๋๊ธฐํ ๋์ง ์์(๋ฉํฐ ์ค๋ ๋์์ ์์ ํ์ง ์์)
LinkedList
List ์ธํฐํ์ด์ค ๊ตฌํ ํด๋์ค
๊ฒ์์ ๋๋ฆผ
์์์ ์ถ๊ฐํ๊ณ ๋ค์์ ์ญ์ ๊ฐ ๋น๋ฒํ ๊ฒฝ์ฐ ๋น ๋ฆ
์๋ค ์๋ฌด๋ฐ์๋ ์ถ๊ฐ ์ญ์ ๊ฐ ๋น๋ฒํ ๊ฒฝ์ฐ
์ค๊ฐ์ ์ฝ์
์ญ์ ์์๋ ์๋๊ฐ ํ์ ํ ๋จ์ด์ง. LinkedList ์ฌ์ฉํ์ง ๋ง๊ฒ
๋๊ธฐํ ๋์ง ์์(๋ฉํฐ ์ค๋ ๋์์ ์์ ํ์ง ์์)
Vector
List ์ธํฐํ์ด์ค ๊ตฌํ ํด๋์ค
๋๊ธฐํ ์ง์. ๋ค์ค ์ค๋ ๋ ํ๊ฒฝ์์ ์์
Stack
LIFO(Last In First Out) ๊ตฌ์กฐ
Vector ํด๋์ค๋ฅผ ์์ ๋ฐ์
Stack ์ฃผ์ ๋ฉ์๋
push() : ์คํ์ ๋ฐ์ดํฐ ์ถ๊ฐ
pop() : top ์์ ๋ฐํ ํ ์ญ์
peek() : top ์์ ๋ฐํ ํ ์ญ์ ํ์ง ์์
empty(E item) : ๊ฐ์ฒด๋ฅผ ์คํ์ ์ ์ฅ
3. List<E> ์ธํฐํ์ด์ค ์ฃผ์ ๋ฉ์๋

4. ArrayList ์ฌ์ฉ ์ ๋ฆฌ
1) add(E e) - ๋ฐ์ดํฐ ์ถ๊ฐ
List<String> list = new ArrayList<>(); // ์
์บ์คํ
String s;
// ์์๊ฐ ์๋ Collection. ์ฐจ๋ก๋ก ์ถ๊ฐ๋๋ค
list.add("์์ธ");
list.add("๋์ ");
list.add("๋๊ตฌ");
list.add("๋ถ์ฐ");
list.add("์ธ์ฒ");
list.add("์์ธ"); // ์ค๋ณต ์์ ์ถ๊ฐ ๊ธฐ๋ฅ
System.out.println(list);
[๊ฒฐ๊ณผ] [์์ธ, ๋์ , ๋๊ตฌ, ๋ถ์ฐ, ์ธ์ฒ, ์์ธ]
2) add(int index, E e) - ํน์ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ ์ถ๊ฐ
list.add(4, "๊ด์ฃผ"); // 4 ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ ์ถ๊ฐ
System.out.println(list);
[๊ฒฐ๊ณผ] [์์ธ, ๋์ , ๋๊ตฌ, ๋ถ์ฐ, ๊ด์ฃผ, ์ธ์ฒ, ์์ธ]
3) size() - list์ ์ฌ์ด์ฆ ๊ตฌํ๊ธฐ (๋ฆฌ์คํธ ๋ด์ ์๋ ์์์ ์๋ฅผ ๋ฆฌํด)
System.out.println("๊ฐ์ : " + list.size());
[๊ฒฐ๊ณผ] ๊ฐ์ : 7
4) get(int index) - ์ํ๋ ์์น์ ์๋ ๋ฐ์ดํฐ ๊ตฌํ๊ธฐ( ์ง์ ๋ ์์น์ ์๋ ์์๋ฅผ ๋ฆฌํด)
s = list.get(0);
System.out.println("์ฒ์ " + s);
s = list.get(1);
System.out.println("๋๋ฒ์งธ " + s);
s = list.get(list.size() - 1);
System.out.println("๋ง์ง๋ง " + s);
[๊ฒฐ๊ณผ] ์ฒ์ ์์ธ
๋๋ฒ์งธ ๋์
๋ง์ง๋ง ์์ธ
5) remove(Object o) - ์ง์ ๋ ์์น์ ์๋ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๊ณ ์ญ์ ๋ ๊ฐ์ฒด๋ฅผ ๋ฐํ
list.remove(3);
[๊ฒฐ๊ณผ] [์์ธ, ๋์ , ๋๊ตฌ, ๊ด์ฃผ, ์ธ์ฒ, ์์ธ]
6) clear() - ๋ชจ๋ ์์๋ฅผ ์ญ์
list.clear();
System.out.println("๋ชจ๋ ์ง์ฐ๊ณ ๊ฐ์ : "+list.size());
[๊ฒฐ๊ณผ] ๋ชจ๋ ์ง์ฐ๊ณ ๊ฐ์ : 0
ํฅ์๋ for๋ฌธ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ์ถ๋ ฅ
public static void disp(List<String> list) {
for(String s : list) {
System.out.print(s + " ");
}
System.out.println();
}
'๐ปProgramming > โ๏ธJava' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] Collections Framework - Map (0) | 2022.08.03 |
---|---|
[JAVA] Collections Framework - Set (0) | 2022.08.03 |
[JAVA] Collections Framework (0) | 2022.08.03 |
[JAVA] ์์ธ์ฒ๋ฆฌ (0) | 2022.08.03 |
[JAVA] Annotation (0) | 2022.08.02 |