ArrayList ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋?
๊ธฐ์กด์ Array(๋ฐฐ์ด)์ ์ ํด์ง ๋ฐ์ดํฐ์ ๊ฐฏ์ ์ด์์ผ๋ก๋ ๋ฐ์ดํฐ ์ถ๊ฐ๊ฐ ๋ถ๊ฐํ๋ค
๊ฐฏ์ ์ ํ ์์ด ๋ฐ์ดํฐ๋ฅผ ๋ง์๋๋ก ์ถ๊ฐ, ์์ , ์ญ์ ํ๊ธฐ ์ํ์ฌ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค.
ArrayList ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ(๊ท์น)
๋ด๊ณ ์ถ์ ๋ฐ์ดํฐ์ ํ์ ์ < > ์์ ์ ์ด์ค์ผ ํ๋ค.
ArrayList<String> nameList = new ArrayList<>();
(1) ํจํค์ง ํ๋์ ์์ฑ
- ์ฌ๋์ ์ด๋ฆ์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ์คํธ๋ญ์ณ ๋ง๋ค๊ธฐ
import java.util.ArrayList; //ArrayList ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํฌํธ
public class ArrayListMain {
public static void main(String[] args) {
// ๋ฐ์ดํฐ ์ถ๊ฐ
nameList.add("ํ๊ธธ๋");
nameList.add("๊น๋๋");
nameList.add("Mike");
// ๋ฐ์ดํฐ ์ต์ธ์ค
System.out.println(nameList.get(0));
System.out.println(nameList.get(1));
System.out.println(nameList.get(2));
// ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ค ์ถ๋ ฅํ์์ค.
for(int i = 0 ; i < nameList.size() ; i++ ) { //nameList๋ length ๋์ size ์ด๋ค
System.out.println(nameList.get(i));
}
// for each ๋ฐ๋ณต๋ฌธ
for( String name : nameList) { //nameList์ ์๋ ๊ฒ์ ํ๋์ฉ ๋นผ์ ์ ์ฅํ๋ค
System.out.println(name);
}
// ์ฒซ๋ฒ์งธ ๋ฐ์ดํฐ ํ๊ธธ๋์ ๊น๊ธธ๋์ผ๋ก ๋ณ๊ฒฝ (์์ )
nameList.set(0,"๊น๊ธธ๋");
System.out.println(nameList.get(0));
// ๋ฐ์ดํฐ 1๊ฐ ์ญ์ ํ๊ธฐ
// ์ธ๋ฑ์ค๋ก ์ญ์
nameList.remove(0);
// ๊ฐ์ผ๋ก ์ญ์
nameList.remove("Mike");
// ๋ชจ๋ ๋ฐ์ดํฐ ํ๊บผ๋ฒ์ ์ญ์
nameList.clear();
// ๋ฐ์ดํฐ ๋น์ด์๋์ง ์๋์ง ํ์ธํ๋ ํจ์
if( nameList.isEmpty() ) {
System.out.println("๋น์ด์๋ค.");
} else {
System.out.println("๋ฐ์ดํฐ๊ฐ ์๋ค.");
}
}
}
(2) ํจํค์ง ์ฌ๋ฌ๊ฐ์ ์์ฑ
- ์ฃผ์๋ก์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ์คํธ๋ญ์ณ ๋ง๋ค๊ธฐ
Person ํด๋์ค ์์ฑํ๊ธฐ
package model;
public class Person {
private String name;
private String phone;
public Person() { // ๋ํดํธ ์์ฑ์ ์์ฑ
}
// Constructor ์์ฑ์ ์์ฑ
public Person(String name, String phone) {
this.name = name;
this.phone = phone;
}
// getter and setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
ArrayListMain ํด๋์ค ์์ฑํ๊ธฐ
package main;
import java.util.ArrayList;
import model.Person;
public class ArrayListMain {
public static void main(String[] args) {
ArrayList<Person> personList = new ArrayList<>();
Person p = new Person("ํ๊ธธ๋","010-2222-3333");
personList.add(p);
p = new Person("๊น๋๋", "010-3333-4444");
personList.add(p);
p = new Person("Mike", "010-1111-1111");
personList.add(p);
// ์ฃผ์๋ก์ ํน์ ์ธ๋ฌผ ์ถ๋ ฅ
Person person = personList.get(1);
System.out.println(person.getName());
System.out.println(person.getPhone());
// ์ฃผ์๋ก์ ๋ชจ๋ ์ฌ๋์ ์ด๋ฆ๊ณผ ์ ํ๋ฒํธ ์ถ๋ ฅ
for (Person p1 : personList) {
System.out.println(p1.getName() + " : " + p1.getPhone());
}
for (int i = 0; i < personList.size(); i++) {
Person p1 = personList.get(i);
System.out.println(p1.getName() + " : " + p1.getPhone());
}
// ๋๋ฒ์งธ ๋ฐ์ดํฐ์ธ ๊น๋๋์ ์ฃผ์๋ก ์ญ์
personList.remove(1);
// ํ๊ธธ๋์ ์ ํ๋ฒํธ 010-9999-8888๋ก ๋ณ๊ฒฝ
Person p1 = personList.get(0);
person.setPhone("010-9999-8888");
// ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
personList.clear();
}
}
* person, p, p1 ์ฒ๋ผ ๋ณ์ ์ด๋ฆ์ ๋ค์ํ ํ๋ ์ด์ ๋?
๊ตฌ๋ถํ๊ธฐ ์ํด์: person, p, p1 ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ๋ฒ์(scope)์ ์ฉ๋๋ฅผ ๊ตฌ๋ถํ๋ ค๋ ์๋์ด๋ค. ํนํ, ๋์ผํ ์ด๋ฆ์ ์ฌ์ฉํ๋ฉด ๋ณ์์ ์๋ฏธ์ ์ฌ์ฉ ๋ชฉ์ ์ด ํท๊ฐ๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ด๋ฆ์ ๋ถ์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
์ฝ๋ ๋ธ๋ก ๋ด์ ์์ ๋ณ์: ๋ฐ๋ณต๋ฌธ์ด๋ ์์๋ก ์ฌ์ฉํ๋ ๋ณ์๋ ์งง์ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๋ฐ๋ณต๋ฌธ ์์์ p1์ด๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต๋ฌธ ๋ด๋ถ์ ๋ณ์์์ ๋ํ๋ธ๋ค.
'Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java์์ NullPointerException ๋ฐ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2024.06.04 |
---|---|
์๋ฐ(Java)์ "HashMap" ๋์ ๋๋ฆฌ์ ๋น์ทํ ๋ฐ์ดํฐ ์คํธ๋ญ์ณ (0) | 2024.06.04 |
์๋ฐ์ ๋ฌธ์์ด(String) ๋ฐ์ดํฐ ๊ฐ๊ณตํ๊ธฐ (0) | 2024.06.03 |
์๋ฐ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ Interface(์ธํฐํ์ด์ค)๋ฅผ ํ์ฉํ๊ธฐ (0) | 2024.06.03 |
์๋ฐ์ ์ถ์ํ(Abstract)์ ์ฉ๋์ ๋ฐฉ๋ฒ (0) | 2024.06.03 |