Deep_Dev
article thumbnail

 

๐Ÿ’กArrayList

ArrayList๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋กœ ํฌ๊ธฐ๊ฐ€ ๊ฐ€๋ณ€์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์„ ํ˜•๋ฆฌ์ŠคํŠธ์ด๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ์ˆœ์ฐจ๋ฆฌ์ŠคํŠธ์ด๋ฉฐ ์ธ๋ฑ์Šค๋กœ ๋‚ด๋ถ€์˜ ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋Š”์ ์ด ์œ ์‚ฌํ•˜์ง€๋งŒ ํ•œ๋ฒˆ ์ƒ์„ฑ๋˜๋ฉด ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ฐฐ์—ด๊ณผ๋Š” ๋‹ฌ๋ฆฌ ArrayList๋Š” ๊ฐ์ฒด๋“ค์ด ์ถ”๊ฐ€๋˜์–ด ์ €์žฅ ์šฉ๋Ÿ‰(capacity)์„ ์ดˆ๊ณผํ•œ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ๋ถ€์กฑํ•œ ํฌ๊ธฐ๋งŒํผ ์ €์žฅ์šฉ๋Ÿ‰(capacity)๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค.

ArrayList์—์„œ ํŠน์ • ์ธ๋ฑ์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐํ•˜๊ฒŒ ๋˜๋ฉด, ์ œ๊ฑฐํ•œ ๊ฐ์ฒด์˜ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋ชจ๋‘ ์•ž์œผ๋กœ 1์นธ์”ฉ ์•ž์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ฐ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒŒ ๋˜๋ฉด 1์นธ์”ฉ ๋’ค๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค. ์ธ๋ฑ์Šค ๊ฐ’์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถ”๊ฐ€/์‚ญ์ œ ์‹œ ์ „์ฒด ๊ฐ์ฒด๊ฐ€ ์œ„์น˜๋ฅผ ์ด๋™ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์žฆ์€ ์›์†Œ์˜ ์ด๋™, ์‚ญ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ArrayList๋ณด๋‹ค LinkedList๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

โ€ป ์žฅ์ 

  • ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์š”์†Œ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

โ€ป ๋‹จ์ 

  • ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๊ฐ€ ๋ณ€ํ• ๋•Œ ์ฒ˜๋ฆฌ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ์š”์†Œ์˜ ์‚ญ์ œ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

 

โ€ป ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ณณ

  • ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์ผ๊ด€๋˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์ž…๋ ฅ/์‚ญ์ œ๊ฐ€ ์ ์€ ๊ณณ
  • ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ ์†๋„๊ฐ€ ๋นจ๋ผ์•ผํ•˜๋Š” ๊ณณ

 

๐Ÿ’ก๋ฐฐ์—ด๊ณผ ArrayList์˜ ์ฐจ์ด

  • ๋ฐฐ์—ด์€ ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด์žˆ์ง€๋งŒ ArrayList๋Š” ์‚ฌ์ด์ฆˆ๊ฐ€ ๋™์ ์ธ ๋ฐฐ์—ด์ด๋‹ค.
  • ๋ฐฐ์—ด์€ primitive type(int, byte, char ๋“ฑ)๊ณผ object๋ฅผ ๋ชจ๋‘ ๋‹ด์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ArrayList๋Š” ํƒ€์ž…์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ด์ฃผ๋Š” ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ธธ์ด์— ๋Œ€ํ•ด ๋ฐฐ์—ด์€ length๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ArrayList๋Š” size()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋ฐฐ์—ด์€ element ๋“ค์„ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ํ• ๋‹น์—ฐ์‚ฐ์ž๋ฅผ ์จ์•ผํ•˜๊ณ , ArrayList๋Š” add()๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด element๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.

 

 

๐Ÿ’ก์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ArrayList ๋ฉ”์†Œ๋“œ 

add()

์ˆœ์„œ๋Œ€๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€, ๋ฐฐ์—ด ์‚ฌ์ด์ฆˆ ์ดˆ๊ณผ ์‹œ ์„ค์ •๋œ ์‚ฌ์ด์ฆˆ๋งŒํผ ์ž๋™์œผ๋กœ ์‚ฌ์ด์ฆˆ ์ฆ๊ฐ€

์ธ๋ฑ์Šค๋ฅผ ์ถ”๊ฐ€๋กœ ์ง€์ •ํ•ด์ฃผ๋ฉด ํ•ด๋‹น ์ธ๋ฑ์Šค์— ๊ฐ’์„ ์‚ฝ์ž…

ArrayList<String> list=new ArrayList<String>();
list.add("๋ฐ•");
list.add("๊น€");
System.out.println(list); // [๋ฐ•, ๊น€]

 

remove()

remove(index or val) : ํ•ด๋‹น index ๊ฐ’ or ํ•ด๋‹น ๊ฐ’์ค‘ ์ฒซ๋ฒˆ์งธ ๊ฐ’ ์‚ญ์ œ

(1) index ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•ด์„œ ์‚ญ์ œ

list.remove(1); // index๋ฅผ ์ง€์ •ํ•ด์„œ ์‚ญ์ œ
System.out.print(list);

(2) ๊ฐ’์„ ์ฐพ์•„์„œ ์‚ญ์ œ

list.remove(list.get(2)); // ๊ฐ’์„ ์ฐพ์•„์„œ ์‚ญ์ œ
System.out.print(list);

(3) ๋ชจ๋“  ์š”์†Œ๋ฅผ ์‚ญ์ œ

list.clear(); // ๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ
System.out.print(list);

 

 

contains() , indexOf()

contains(val) : ํ•ด๋‹น ๊ฐ’์ด ๋ฐฐ์—ด์— ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰ํ•ด์„œ true/false ๋ฐ˜ํ™˜

indexOf(val) : ๊ฐ’์„ ์ œ๊ณตํ•˜๋ฉด ํ•ด๋‹น ๊ฐ’์˜ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜

ArrayList<Integer> list=new ArrayList<Integer>(Array.asList(1,2,3));
System.out.println(list.contains(1)); // list์— 1์ด ์žˆ์œผ๋ฉด true
System.out.println(list.indexOf(1)); // 1์ด ์žˆ๋Š” index ๋ฐ˜ํ™˜ ์—†์œผ๋ฉด -1

 

 

sort() 

Collections.sort() : ์ •๋ ฌ 

ArrayList<Integer> list=new ArrayList<Integer>(Arrrays.asList(1,2,3));
Collections.sort(list);

 

size()

์š”์†Œ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜

 

get()

ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ๊ฐ’ ๋ฐ˜ํ™˜

 

 

 

'๐Ÿ“š ์ฝ”๋”ฉํ…Œ์ŠคํŠธ > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JAVA] ์ด์ง„ํƒ์ƒ‰ ( Binary Search )  (0) 2022.10.26
[JAVA] List : LinkedList  (0) 2022.10.26
[JAVA] StringBuilder  (0) 2022.10.26
[JAVA] ๋ฌธ๋ฒ• : ํ˜•๋ณ€ํ™˜ ์ •๋ฆฌ  (0) 2022.10.26
[JAVA] String method  (0) 2022.10.26