‡๐Ÿ‘ฉ‍๐Ÿ’ป ‡/º Java

[Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] ArrayList

Trudy | ์†ก์—ฐ 2023. 11. 24. 20:21

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

https://velog.io/@rara_kim/Java-ArrayList-%EC%82%AC%EC%9A%A9%EB%B2%95

 List ์ปฌ๋ ‰์…˜

๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ์„ ์–ธํ•  ๋•Œ ์ง€์ •๋˜๋ฉฐ, ํ•œ ๋ฒˆ ์„ ์–ธํ•˜๋ฉด ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์—†๋‹ค. 

์ด์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€๋ณ€์ ์ธ ๋ฐฐ์—ด์„ ๋งŒ๋“  ๊ฒŒ List์ด๋‹ค. 

๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ index๋กœ ๊ด€๋ฆฌ๋˜์ง€๋งŒ, ๊ฐ์ฒด๊ฐ€ ์ถ”๊ฐ€/์‚ญ์ œ ๋  ๋•Œ ์ €์žฅ ์šฉ๋Ÿ‰์ด ๊ฐ€๋ณ€์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค. 

 

List๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ, List ์ปฌ๋ ‰์…˜(ArrayList, LinkedList, Vector ๋“ฑ) ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”์†Œ๋“œ๋“ค์ด ์„ ์–ธ๋˜์–ด ์žˆ๋‹ค.

List ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ฉ”์†Œ๋“œ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

  ๋ฉ”์†Œ๋“œ  
๊ฐ์ฒด ์ถ”๊ฐ€ void add(E e) ์ฃผ์–ด์ง„ ๊ฐ์ฒด๋ฅผ ๋งจ ๋์— ์ถ”๊ฐ€
void add(int index, E e) ์ฃผ์–ด์ง„ ๊ฐ์ฒด๋ฅผ ์›ํ•˜๋Š” ์ธ๋ฑ์Šค์— ์ถ”๊ฐ€
๊ฐ์ฒด ๊ฒ€์ƒ‰ boolean contains(Object o) ์ฃผ์–ด์ง„ ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์กฐ์‚ฌ
E get(int index) ์ธ๋ฑ์Šค์— ์ €์žฅ๋œ ๊ฐ์ฒด๋ฅผ return
boolean isEmpty() ์ปฌ๋ ‰์…˜์ด ๋น„์–ด ์žˆ๋Š”์ง€
int size() ์ „์ฒด ๊ฐ์ฒด ์ˆ˜๋ฅผ return 
๊ฐ์ฒด ์‚ญ์ œ void clear() ๋ชจ๋“  ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ
E remove(int index) index์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ

ArrayList ๋ž€?

List ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋Œ€ํ‘œ์ ์ธ ๊ตฌํ˜„ ํด๋ž˜์Šค์ด๋‹ค. 

ArrayList๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

 

List์—๋Š” ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž…์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๊ธฐ๋Š” ํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋Ÿฌ๋ฉด ํ†ต์ผ์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์„ ๋Œ๋ฉด์„œ ๊ฒ€์ƒ‰ ๋“ฑ์ด ์–ด๋ ค์šฐ๋ฏ€๋กœ ์ข‹์ง€ ์•Š์€ ์ฝ”๋“œ์ด๋‹ค. 

๋”ฐ๋ผ์„œ List al = new  ArrayList(); ์ฒ˜๋Ÿผ ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํ†ต์ผ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด <> ์•ˆ์— ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋„ฃ๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•œ๋‹ค. 

List<๋ฐ์ดํ„ฐ ํƒ€์ž…> arraylist = new ArrayList<๋ฐ์ดํ„ฐ ํƒ€์ž…>();
List<๋ฐ์ดํ„ฐ ํƒ€์ž…> arraylist = new ArrayList<>();
ArrayList<๋ฐ์ดํ„ฐ ํƒ€์ž…> arraylist = new ArrayList<>();

 

 

๊ฐ์ฒด ์ถ”๊ฐ€ 

์˜ค๋ฒ„๋กœ๋”ฉ์œผ๋กœ add์— ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ ๋งจ ๋’ค์— ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ง€, ์•„๋‹ˆ๋ฉด ์›ํ•˜๋Š” ๊ณณ์— ์ถ”๊ฐ€ํ•˜๋Š” ์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งจ ๋์— ๊ฐ์ฒด ์ถ”๊ฐ€ - add(๊ฐ์ฒด)

arraylist.add("a");

์›ํ•˜๋Š” ์ธ๋ฑ์Šค์— ๊ฐ์ฒด ์ถ”๊ฐ€ - add(์ธ๋ฑ์Šค, ๊ฐ์ฒด)

 ArrayList๋Š” ์›ํ•˜๋Š” ์ธ๋ฑ์Šค ์•„๋ฌด ๊ณณ์—๋‚˜ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. ์›ํ•˜๋Š” ์ธ๋ฑ์Šค์— ๊ฐ์ฒด๋ฅผ ์‚ฝ์ž…ํ•˜๊ฒŒ ๋˜๋ฉด ๋’ค์— ์žˆ๋˜ ๊ฐ์ฒด๋“ค์€ ๋’ค๋กœ ๋ฐ€๋ ค๋‚˜๊ฒŒ ๋œ๋‹ค.

arraylist.add(1, "b");

 


๊ฐ์ฒด ์‚ญ์ œ

์›ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ฐพ์•„์„œ ์‚ญ์ œ - remove(๊ฐ์ฒด)

์‚ญ์ œ๋ฅผ ์›ํ•˜๋Š” ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ๋Š”, ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๊ฐ์ฒด 1๊ฐœ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค.

arraylist.remove("a");

์›ํ•˜๋Š” ์ธ๋ฑ์Šค์— ์ €์žฅ๋œ ๊ฐ์ฒด ์‚ญ์ œ - remove(์ธ๋ฑ์Šค, ๊ฐ์ฒด)

arraylist.remove(0);

 

์ „์ฒด ์‚ญ์ œ - clear()

arraylist.clear()

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

 

๋ฆฌ์ŠคํŠธ์— ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋˜๋Š” ์ง€ - contains(๊ฐ์ฒด)

boolean b = arraylist.contians("a");

 

์›ํ•˜๋Š” ์ธ๋ฑ์Šค์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„์˜ค๊ธฐ - get(์ธ๋ฑ์Šค)

String s = arraylist.get(0);

 

ArrayList๊ฐ€ ๋น„์–ด ์žˆ๋Š” ์ง€ - isEmpty()

boolean b = arraylist.isEmpty();

 

ArrayList์˜ ๊ธธ์ด - size()

int s = arraylist.size();