ArrayList
ArrayList๋?
ArrayList๋ Collection ํ๋ ์์ํฌ์ ์ผ๋ถ์ด๋ฉด java.util ํจํค์ง์ ํฌํจ๋์ด ์๋ค.
์๋ฐ์์ array๋ ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง์ง๋ง ArrayList๋ ๊ฐ๋ณ์ ์ผ๋ก ๋ณํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ํ ๋ฉ์๋๋ฅผ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.
ArrayList ์์ฑ
java.util ํจํค์ง์ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์๋์ ๊ฐ์ด import ํด์ค๋ค.
import java.util.ArrayList;
๊ทธ๋ฆฌ๊ณ ์ํ๋ ๋ฐ์ดํฐ ํ์ ์ ์ ๋ ฅํ์ฌ ์์ฑํด์ค๋ค.
ArrayList<Integer> arrayList = new ArrayList<>();
์์ฒ๋ผ Integer๋ฅผ ์ฌ์ฉํ ์ ๋ ์๊ณ , String, Object๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ์ฌ์ฉํ ์ ์๋ค.
๋ฐ์ดํฐ ์ฝ์
๋ฐ์ดํฐ๋ฅผ ์ฝ์
ํ ๋๋ add ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
add(1)์ฒ๋ผ ์ ์ผ ๋ค์ชฝ์ ์ ์ฅํ ์ ์๊ณ ,
add(n,1) ์ฒ๋ผ n๋ฒ์งธ ์ธ๋ฑ์ค์ ์ฝ์
ํ ์ ๋ ์๋ค.
arrayList.add(1);
arrayList.add(4);
arrayList.add(1,3);
arrayList.add(6);
arrayList.add(7);
1 3 4 6 7
๋ฐ์ดํฐ ์ญ์
ํน์ ์ธ๋ฑ์ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๋๋ remove ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
arrayList.remove(2) //์ธ๋ฑ์ค๊ฐ 2, 3๋ฒ์จฐ ์์๋ฅผ ์ ๊ฑฐ
1 3 6 7
๋ฐ์ดํฐ ๋ณ๊ฒฝ
๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ๋๋ ๋ณ๊ฒฝํ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค์ ๋ณ๊ฒฝํ ๊ฐ์ ์ด์ฉํด์ set ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
arrayList.set(3,9)
1 3 6 9
๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
ArrayList์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ๋๋ ํน์ ์ธ๋ฑ์ค์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ get ๋ฉ์๋์
์ํ๋ ๋ถ๋ถ์ ๋ฐ์ดํฐ๋ค์ ์๋ผ์ ๊ฐ์ ธ์ฌ ์ ์๋ subList ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
subList๋ ์์ ์ธ๋ฑ์ค์ ๋ ์ธ๋ฑ์ค์ ๋ค์ ์ธ๋ฑ์ค๋ฅผ ํ์๋ก ํ๋ค.
subList(0,2)๋ฅผ ํ๊ฒ๋๋ฉด ์ธ๋ฑ์ค 0๋ถํฐ ์ธ๋ฑ์ค 1๊น์ง์ ๊ฐ๋ค์ List ์๋ฃํ์ผ๋ก ๋ฆฌํดํด์ค๋ค.
arrayList.get(3);
List<Integer> list = arrayList.subList(0,2);
9
1 3
๋ฐ์ดํฐ ์กด์ฌ ์ฌ๋ถ ํ์ธ
ArrayList์ ํน์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๊ธฐ ์ํด์๋ contains ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ
๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๊ณ ์ด๋ค ์ธ๋ฑ์ค์ ์๋์ง๊น์ง ํ์ธํ๋ ค๋ฉด indexOf๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
arrayList.contains(2);
arrayList.indexOf(3);
false
1
contains๋ ์กด์ฌํ๋ค๋ฉด true, ์กด์ฌํ์ง ์๋๋ค๋ฉด false๋ฅผ ๋ฆฌํดํ๋ค.
indexOf๋ ๊ฐ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ฐ์ฅ ์์ ์์นํ ์ธ๋ฑ์ค๋ฅผ ๋ฆฌํดํ๊ณ , ์๋ค๋ฉด -1์ ๋ฆฌํดํ๋ค.
ArrayList ๋น์ด์๋์ง ์ฌ๋ถ ํ์ธ
ArrayList๊ฐ ๋น์ด์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ isEmpty๋ฉ์๋์ size๋ฉ์๋๋ฅผ ์ด์ฉํ ์ ์๋ค.
isEmpty๋ ๋น์ด์๋ค๋ฉด true๋ฅผ ์๋๋ผ๋ฉด false๋ฅผ ๋ฆฌํดํด์ฃผ๊ณ ,
size๋ ๋ค์ด์๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๋ฆฌํดํด ์ฃผ๋๋ฐ ๊ฐ์๊ฐ 0์ด๋ฉด ๋น์ด์๋ค๊ณ ๋ณผ ์ ์๋ค.
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java] ์๋ฐ ์ปฌ๋ ์ Set (0) | 2022.01.11 |
---|---|
[Java] String ํด๋์ค ์ ๋ฆฌ (0) | 2022.01.08 |
[Java] ์์์ด๋? (0) | 2022.01.06 |
[Java] ๋ณ์์ ์๋ฃํ (0) | 2022.01.04 |
[Java]์ ๊ทํํ์ ์ ๋ฆฌ (0) | 2021.08.01 |