# ArrayList
# Java ArrayList ์์
์ฝ๋ฉํ ์คํธ์์ ArrayList๊ฐ ์์ฃผ ์ฌ์ฉ๋์ด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
์๋ ์์ ๋ java2s (opens new window) ์ ์์ ์์ ๊ฐ์ ธ์๊ณ , ์ฃผ์์ผ๋ก ์ค๋ช ์ ์ถ๊ฐํ๋ค.
# ๐ป ArrayList add, remove
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
// ์ด๊ธฐ ์ฌ์ด์ฆ๋ 0
System.out.println("์ ์ธ ์งํ ์ฌ์ด์ฆ : " + al.size());
al.add("A");
al.add("B");
al.add("C");
al.add("D");
al.add("F");
al.add(1, "Sniper");
// ์ถ๊ฐ ํ ์ฌ์ด์ฆ = 6
System.out.println("๋ฌธ์์ด ์ถ๊ฐ ํ ์ฌ์ด์ฆ : " + al.size());
/*
* ArrayList๋ add ํจ์์ ํ๋ผ๋ฏธํฐ๋ก (์ธ๋ฑ์ค ๋ฒํธ, ๊ฐ)์ ์ ๋ฌํ๋ฉด
* ์ธ๋ฑ์ค ๋ฒํธ์ "๊ฐ"์ด ์ฝ์
๋๊ณ ๊ทธ ๋ค ์ธ๋ฑ์ค๊ฐ ํ๋์ฉ ๋ฐ๋ฆฐ๋ค.
* ์ถ๋ ฅํด์ ํ์ธํด๋ณด๋ฉด
*/
System.out.println(al.toString());
/*
* ์ด๊ธฐ ์ฌ์ด์ฆ : 0
* ๋ฌธ์์ด ์ถ๊ฐ ํ ์ฌ์ด์ฆ : 6
* [A, Sniper, B, C, D, F]
*
* 1๋ฒ ์ธ๋ฑ์ค์ "Sniper"๊ฐ ์ถ๊ฐ๋๊ณ , ๊ธฐ์กด์ ์๋ ๊ฐ์ด ๋ค๋ก ๋ฐ๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
* ์ง๊ธ๊ณผ ๊ฐ์ ์ฐ์ฐ์ ๋ชจ๋ ์ธ๋ฑ์ค๋ฅผ ํ๋์ฉ ๋ฐ์ด๋ด๋ ์ฐ์ฐ์ผ๋ก ๋นํจ์จ์ ์ด๋ค.
* ๋ฐ๋ผ์ ์ฝ์
์ด ๋น๋ฒํ ํํ์์ ArrayList๊ฐ ์ข์ง ์์
* remove๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํน์ ์ธ๋ฑ์ค๋ฅผ ์ญ์ ํ๋งํผ ๊ทธ ๋น ๊ณต๊ฐ์ ์ฑ์ฐ๊ธฐ
* ์ํด ๋ค์ ์๋ ๋ฐ์ดํฐ๋ค์ด ์์ผ๋ก ๋น๊ฒจ์ง๋ค.
*/
al.remove(3); //3๋ฒ์งธ ์ธ๋ฑ์ค ์ญ์ .D์ญ์
System.out.println("al.remove(3) ์คํ ํ : " + al.toString());
// al.remove(3) ์คํ ํ : [A, Sniper, B, D, F]
}
}
# ๐ก ArrayList ๋ง์ง๋ง index ์ญ์ ํ๋ ๋ฐฉ๋ฒ
list.remove(list.size() - 1);
oracle ๊ณต์ ๋ฌธ์ java7 ArrayList part๋ฅผ ์ฐธ๊ณ ํ๋ฉด ์ข๋ค.
# ๐ก ArrayList โก๏ธ Array(๋ฐฐ์ด) ๋ณํ ๋ฐฉ๋ฒ
toArray() ๋ฉ์๋ ํ์ฉ
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Java");
arrayList.add("Python");
arrayList.add("YoungJun");
String[] array = arrayList.toArray(new String[arrayList.size()]);
# ๐ก Array(๋ฐฐ์ด) โก๏ธ ArrayList ๋ณํ ๋ฐฉ๋ฒ
asList() ๋ฉ์๋ ํ์ฉ
String[] array = new String[3];
array[0] = "YoungJun";
array[1] = "Java";
array[2] = "Python";
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(array));
# Reference
- http://www.java2s.com/
- https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
- https://programmers.co.kr/learn/courses/17/lessons/805
โ Meta space MVC Pattern โ