์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ์ฝ๋์
- 2024-08-20
- datepicker
- fontstyle
- Android Studio
- IOC
- OOP
- ๊ธฐ์ด100์
- AndroidStudio
- ํ๋ IT&E
- ์ฑ์ฉํ์ ํ
- OpenAPI
- reflection
- http method
- FACTORY
- Kotlin
- Dialog
- uri
- udp
- url
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- Python
- URN
- ์ด๋ ธํ ์ด์
- di
- menutab
- Factory Method Pattern
- swagger
- 2024-08-21
- tcp
dingdong coding
[JAVA ] List Interface ๋ณธ๋ฌธ
๋ฆฌ์คํธ์ ์์ ๊ฐ๋ ์ธ Collection์ ๋ํด ๋จผ์ ๋ณด๊ณ ์ค๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
LIST INTERFACE
• ์ ์ฅ ์์๊ฐ ์๋(์ ์ง๋๋) ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํฉ๋๋ค.
ex) Vector, ArrayList, LinkedList, Stack, Queue
1. ArrayList
• ๋ด๋ถ์ ์ผ๋ก Array๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ Index๋ฅผ ์ด์ฉํด ์์์ ๋น ๋ฅธ ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ์กฐํ ์ฑ๋ฅ Good, ๋จ๋ฐฉํฅ ํฌ์ธํฐ ๊ตฌ์กฐ
• ํ์ง๋ง ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ ๋ณ๊ฒฝ์ด ๋ณต์กํฉ๋๋ค. ( ์ ๋ฐฐ์ด ์์ฑ ํ ๊ธฐ์กด ์์ ์ฎ๊ธฐ๊ธฐ )
• ์ด๋ ์์์ ์ถ๊ฐ ๋ฐ ์ญ์ ์์ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง๊ฒ ๋ฉ๋๋ค.
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{
ArrayList<Integer> al = new ArrayList<Integer>();
for (int i = 1; i <= 5; i++)
al.add(i);
System.out.println(al);
al.remove(3);
System.out.println(al);
for (int i = 0; i < al.size(); i++)
System.out.print(al.get(i) + " ");
}
}
[1, 2, 3, 4, 5]
[1, 2, 3, 5]
1 2 3 5
2. LinkedList
• ๋ด๋ถ์ ์ผ๋ก ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ์ ์ฅํฉ๋๋ค.
• ์ ์ฅ๋ ์์๋ ๋น์์ฐจ์ ์ผ๋ก ๋ถํฌ๋๋ฉฐ Link๋ก ์ฐ๊ฒฐํ์ฌ ๊ตฌ์ฑํฉ๋๋ค.
- ๋ฐ์ดํฐ์ ์ฝ์ , ์ญ์ ์ ์์น ์ ๋ณด๋ง ์์ ํ๋ฏ๋ก ์ ์ฉ, ์๋ฐฉํฅ ํฌ์ธํฐ ๊ตฌ์กฐ
• ๋จ์ผ ์ฐ๊ฒฐ๋ฆฌ์คํธ - ๋ค์ ์์์ ๋ํ ์ฐธ์กฐ๋ง ๊ฐ์ง๋ ๋ฆฌ์คํธ, ์ด์ ์์๋ก ์ ๊ทผ์ด ์ด๋ ต๋ค.
• ์ด์ค ์ฐ๊ฒฐ๋ฆฌ์คํธ - ๋ค์์์์ ์ด์ ์์์ ๋ํ ์ฐธ์กฐ ๋ ๋ค ๊ฐ์ง๋ ๋ฆฌ์คํธ
์ด์ ๋ํด ์ ์ ๋ฆฌ๋ ๋ธ๋ก๊ทธ๊ฐ ์์ด ๋งํฌ๋ฅผ ์ฒจ๋ถํ์ต๋๋ค. ๐
class GFG {
public static void main(String[] args){
LinkedList<Integer> ll = new LinkedList<Integer>();
for (int i = 1; i <= 5; i++)
ll.add(i);
System.out.println(ll);
ll.remove(3);
System.out.println(ll);
for (int i = 0; i < ll.size(); i++)
System.out.print(ll.get(i) + " ");
}
}
[1, 2, 3, 4, 5]
[1, 2, 3, 5]
1 2 3 5
3. Vector
• ArrayList ํด๋์ค์ ๊ฐ์ ๋์์ ์ํํ๋ ํด๋์ค๋ก List ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ๋๋ค.
• ArrayList์์ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ ๊ฑฐ์ ๊ฐ์ผ๋ฉฐ ํ์ฌ๋ ๊ธฐ์กด์ฝ๋์์ ํธํ์ฑ์ ์ํด์๋ง ๋จ์์ผ๋ฏ๋ก ArrayList ํด ๋์ค๋ฅผ ์ฌ์ฉํ์.
๋จผ์ ์๋ฃ๊ตฌ์กฐ์์ ์ค๋ช ํ๋ Stack๊ณผ Queue์ ๋ํด ์์๋ณด๊ณ ์ค๋ฉด ์ข์ ๊ฒ๊ฐ์ต๋๋ค.
์ด์ ๋ํด ์ ์ ๋ฆฌ๋ ๋ธ๋ก๊ทธ ๋งํฌ๋ฅผ ์ฐธ์กฐํ๊ฒ ์ต๋๋ค.๐ ์คํ, ํ ๊ฐ๋ /๋น๊ต/ํ์ฉ์์
** ์๋ฃ๊ตฌ์กฐ : ์๋ฃ(Data)์ ์งํฉ์ด์, ์ ์ฅ๊ณต๊ฐ(Memory)์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์๋ ๊ท์น์ ๋ฐ๋ผ ํจ์จ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์ํํ ์ ์๋๋ก ๊ตฌ๋ถํ์ฌ ํํํ ๊ฒ.
** ํจ์จ์ ์ธ ์ฒ๋ฆฌ : ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์ฝ์ , ์ญ์ , ํ์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ๋ํ ํจ์จ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. Big-O ๊ฐ๋ ๊ณผ ์๊ฐ๋ณต์ก๋์ ๋ํด ์๊ณ ์์ผ๋ฉด ๋ ์ดํด๊ฐ ์ฝ๋ค.
4. Stack
• ์คํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด์ LIFO (Last In First Out)์ ์๋ฉํฑ์ ๋ฐ๋ฅด๋ ์๋ฃ๊ตฌ์กฐ
• ๊ฐ์ฅ ๋์ค์ ์ ์ฅ๋( push ) ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ์ธ์ถ( pop )๋๋ ๊ตฌ์กฐ
• Vector์ ํ์ ํด๋์ค๋ก ์์๋ฐ์ ์ ํ์ ์ธ ์คํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํด๋์ค ์ ๊ณต
import java.util.*;
public class GFG {
public static void main(String args[])
{
Stack<String> stack = new Stack<String>();
stack.push("Geeks");
stack.push("For");
stack.push("Geeks");
stack.push("Geeks");
Iterator<String> itr = stack.iterator();
while (itr.hasNext()) {
System.out.print(itr.next() + " ");
}
System.out.println();
stack.pop();
itr = stack.iterator();
while (itr.hasNext()) {
System.out.print(itr.next() + " ");
}
}
}
Geeks For Geeks Geeks
Geeks For Geeks
** ๊ด๋ จ ๋ฉ์๋ **
boolean empty() | ํด๋น ์คํ์ด ๋น์ด ์์ผ๋ฉด true๋ฅผ, ๋น์ด ์์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํจ. |
E peek() | ํด๋น ์คํ์ ์ ์ผ ์๋จ์ ์๋(์ ์ผ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋) ์์๋ฅผ ๋ฐํํจ. |
E pop() | ํด๋น ์คํ์ ์ ์ผ ์๋จ์ ์๋(์ ์ผ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋) ์์๋ฅผ ๋ฐํํ๊ณ , ํด๋น ์์๋ฅผ ์คํ์์ ์ ๊ฑฐํจ. |
E push(E item) | ํด๋น ์คํ์ ์ ์ผ ์๋จ์ ์ ๋ฌ๋ ์์๋ฅผ ์ฝ์ ํจ. |
int search(Object o) | ํด๋น ์คํ์์ ์ ๋ฌ๋ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋ ์์น์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํจ. ์ด๋ ์ธ๋ฑ์ค๋ ์ ์ผ ์๋จ์ ์๋(์ ์ผ ๋ง์ง๋ง์ผ๋ก ์ ์ฅ๋) ์์์ ์์น๋ถํฐ 0์ด ์๋ 1๋ถํฐ ์์ํจ. |
5. Queue
• ํ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ์ ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด์ FIFO (First In First Out)์ ์๋ฉํฑ์ ๋ฐ๋ฅด๋ ์๋ฃ๊ตฌ์กฐ
• ๊ฐ์ฅ ๋จผ์ ์ ์ฅ๋( push ) ๋ฐ์ดํฐ๊ฐ ๊ฐ์ฅ ๋จผ์ ์ธ์ถ( pop )๋๋ ๊ตฌ์กฐ
• ํ์ ์ธํฐํ์ด์ค๋ฅผ ์ง๊ฐ์ ์ ์ผ๋ก ๊ตฌํํ ํด๋์ค๋ ์๋นํ ๋ง์ต๋๋ค. ๊ทธ ์ค์์๋ Deque ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ LinkedList ํด๋์ค๊ฐ ํ์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ๋๋ฐ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
** ๊ด๋ จ ๋ฉ์๋ **
boolean add(E e) | ํด๋น ํ์ ๋งจ ๋ค์ ์ ๋ฌ๋ ์์๋ฅผ ์ฝ์
ํจ. ๋ง์ฝ ์ฝ์ ์ ์ฑ๊ณตํ๋ฉด true๋ฅผ ๋ฐํํ๊ณ , ํ์ ์ฌ์ ๊ณต๊ฐ์ด ์์ด ์ฝ์ ์ ์คํจํ๋ฉด IllegalStateException์ ๋ฐ์์ํด. |
E element() | ํด๋น ํ์ ๋งจ ์์ ์๋(์ ์ผ ๋จผ์ ์ ์ฅ๋) ์์๋ฅผ ๋ฐํํจ. |
boolean offer(E e) | ํด๋น ํ์ ๋งจ ๋ค์ ์ ๋ฌ๋ ์์๋ฅผ ์ฝ์ ํจ. |
E peek() | ํด๋น ํ์ ๋งจ ์์ ์๋(์ ์ผ ๋จผ์ ์ ์ฅ๋) ์์๋ฅผ ๋ฐํํจ. ๋ง์ฝ ํ๊ฐ ๋น์ด์์ผ๋ฉด null์ ๋ฐํํจ. |
E poll() | ํด๋น ํ์ ๋งจ ์์ ์๋(์ ์ผ ๋จผ์ ์ ์ฅ๋) ์์๋ฅผ ๋ฐํํ๊ณ , ํด๋น ์์๋ฅผ ํ์์ ์ ๊ฑฐํจ. ๋ง์ฝ ํ๊ฐ ๋น์ด์์ผ๋ฉด null์ ๋ฐํํจ. |
E remove() | ํด๋น ํ์ ๋งจ ์์ ์๋(์ ์ผ ๋จผ์ ์ ์ฅ๋) ์์๋ฅผ ์ ๊ฑฐํจ. |
ํ์ต์ ๋ง์ ๋์์ด ๋ ๋งํฌ๋ฅผ ์ฐธ์กฐํ์ต๋๋ค. ๐
์ฐธ์กฐ ๋ฐ ์ถ์ฒ
'๐ฐJAVA > Basic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ JAVA ] Garbage Collection (0) | 2022.07.01 |
---|---|
[JAVA ] Set Interface (0) | 2022.06.28 |
[JAVA ] Collection (0) | 2022.06.20 |
[ JAVA ] Optional (0) | 2022.06.15 |
[ JAVA ] Lambda (0) | 2022.06.14 |