๐Ÿต java

JAVA | List, ArrayList์˜ ์‚ฌ์šฉ

c0zi 2023. 6. 6. 18:07

๐Ÿ“‘ List


List๋Š” ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•œ ์ข…๋ฅ˜

 

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€ ?

๋”๋ณด๊ธฐ

Collection

  •  List : ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์ €์žฅ, ์ค‘๋ณต ๊ฐ€๋Šฅ
  •  Set : ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๊ณ  ์ €์žฅ, ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ

Map : ํ‚ค์™€ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ์—”ํŠธ๋ฆฌ ์ €์žฅ, ํ‚ค๋Š” ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ

 

๐Ÿ“Œ ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ์˜ ์ฐจ์ด์  

 

  ๋ฐฐ์—ด (Array) ๋ฆฌ์ŠคํŠธ (List)
ํฌ๊ธฐ ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ํฌ๊ธฐ ํ• ๋‹น์ด ํ•„์ˆ˜์ด๋ฉฐ,
ํ• ๋‹น๋œ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋จ
ํฌ๊ธฐ๋ฅผ ํ• ๋‹นํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ
๊ฐ€๋ณ€์ ์œผ๋กœ ๋ณ€ํ™”ํ•จ
์ €์žฅ ๋ฐฉ์‹ ์‹๋ณ„์ž(์ธ๋ฑ์Šค)๊ฐ€ ์กด์žฌ
ex) str[i]
๊ฐ์ฒด์˜ ๋ฒˆ์ง€๋ฅผ ์ €์žฅ
์ข…๋ฅ˜ int, String, long ... ArrayList, Vector, LinckedList
์„ ์–ธ ๋ฐฉ๋ฒ• int[] i = new int[5];
String a[] = new String[3];
List<E> list = new ArrayList<E>();
List<E> list = new Vector<>();
List list = new LinkedList();

 


๐Ÿ” ArrayList


List ์ปฌ๋ ‰์…˜ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค๋กœ, ArrayList๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์—ฌ๋Ÿฌ๊ฐ€๋Šฅ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค.

ArrayList๋Š” List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ์—ฌ๋Ÿฌ ํด๋ž˜์Šค ์ค‘ ํ•˜๋‚˜์ด๋ฏ€๋กœ import๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๊ตฌ๋ฌธ์„ ์ ์–ด์ค€ ๋’ค ์‚ฌ์šฉ๊ฐ€๋Šฅ

import java.util.ArrayList;

 

 

1. ArrayList ์ƒ์„ฑ

java.util.ArryaList๋ฅผ import ํ•ด์ค€ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ArrayList๋ฅผ ์„ ์–ธํ•œ๋‹ค.

 

ArrayList<E> list1 = new ArrayList<E>(); // ํƒ€์ž… ์ง€์ •
ArrayList<E> list2 = new ArrayList<>(); // ํƒ€์ž… ์ƒ๋žต ๊ฐ€๋Šฅ
ArrayList<E> list3 = new ArrayList<>(3); // ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ ์„ค์ •
ArrayList<E> list4 = new ArrayList<>(list2); // ๋‹ค๋ฅธ Collection๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
List<E>  list5 = new ArrayList<>(); // LinkedArray or Vector๋กœ ํ˜•๋ณ€ํ™˜ ๊ฐ€๋Šฅ
List list6 = new ArrayList(); // ๋ชจ๋“  ํƒ€์ž…์˜ ๊ฐ์ฒด ์ €์žฅ

 

 

2. ArrayList์— ๊ฐ์ฒด ์ถ”๊ฐ€

๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ ๊ธฐ๋Šฅ ์„ค๋ช…
๊ฐ์ฒด ์ถ”๊ฐ€ add(E e) ๊ฐ์ฒด๋ฅผ ๋งจ ๋์— ์ถ”๊ฐ€
add(int index, E e) ํ•ด๋‹น index์— ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€
set(int index, E e) ํ•ด๋‹น index์˜ ๊ฐ์ฒด๋ฅผ ์ฃผ์–ด์ง„ ๊ฐ์ฒด๋กœ ๋ณ€๊ฒฝ

ex.

List<Integer> list = new ArrayLsit<>();

list.add(5); // list = {5}
list.add(4); // list = {5, 4}
list.add(1, 1); // list = {5, 1, 4}
list.set(0, 3); // list = {3, 1, 4}

 

 

3. ๊ฐ์ฒด ๊ฒ€์ƒ‰

๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ ๊ธฐ๋Šฅ ์„ค๋ช…
๊ฐ์ฒด ๊ฒ€์ƒ‰ contains(Object o) ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
get(int index) ํ•ด๋‹น ์ธ๋ฑ์Šค์— ์ €์žฅ๋œ ๊ฐ์ฒด ๋ฆฌํ„ด
isEmpty() ์ปฌ๋ ‰์…˜์ด ๋น„์–ด์žˆ๋Š”์ง€ ์กฐ์‚ฌ
size() ์ €์žฅ๋œ ์ „์ฒด ๊ฐ์ฒด ์ˆ˜ ๋ฆฌํ„ด

ex.

// list = {3, 1, 4}
list.get(1); // 1
list.size(); // 3
list.contains(0); // false

 

 

4. ๊ฐ์ฒด ์‚ญ์ œ

๊ธฐ๋Šฅ ๋ฉ”์†Œ๋“œ ๊ธฐ๋Šฅ ์„ค๋ช…
๊ฐ์ฒด ์‚ญ์ œ clear() ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ์ฒด ์‚ญ์ œ
remove(int index) ํ•ด๋‹น index์— ์ €์žฅ๋œ ๊ฐ์ฒด ์‚ญ์ œ
remove(Object o) ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ

ex.

// list = {3, 1, 4}
list.remove(2); // list = {3, 1}
list.clear(); // ์ „์ฒด ๊ฐ์ฒด ์‚ญ์ œ

 

 

๐Ÿ“‹ ์ฐธ๊ณ ์ž๋ฃŒ


 

์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค(๊ฐœ์ •ํŒ)

2015๋…„ ์ดˆํŒ์ด ์ถœ๊ฐ„๋œ ์ดํ›„๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ ๊ธฐ๋ณธ ๊ฐœ๋…์— ์ถฉ์‹คํ•œ ์„ค๋ช…์œผ๋กœ ๋…์ž๋“ค์—๊ฒŒ ํฐ ์‚ฌ๋ž‘์„ ๋ฐ›์•„์˜จ ใ€Ž์ด๊ฒƒ์ด ์ž๋ฐ”๋‹คใ€์˜ ๊ฐœ์ •ํŒ. ๊ธฐ์กด Java 8 ๋ฒ„์ „์— ์ตœ์‹  Java 17 LTS ๋ฒ„์ „๊นŒ์ง€ ์•„์šฐ๋ฅด๋Š” ๋‚ด์šฉ์œผ๋กœ

www.hanbit.co.kr