๐ฉโ๐๊ณต๋ถ-์๋ฐ ArrayList
๊ฐ์๊ธฐ ์์๊ฐ์๊ฑฐ ํ๋ค๊ฐ ์ ๊ฐ์๊ธฐ ์ ๋ค๋ฆญ์ปฌ๋ ์
๋ถ๋ถ์ผ๋ก ๋์ด์๋๊ณ ์?
์์์ ์ฝ ๋์ธ๋ฌ ์ ์ ๋ฐฐ์ฐ๋ ๊ฑฐ๊ณ , ์ง๊ธ ์ ๋ค๋ฆญ ์ปฌ๋ ์
์ ๊ณต๋ถํ๊ณ ์๋๋ฐ ๊ณผ์ ์ฝ๋ ์งค๊ฒธ ํด์ ์ ๊ฐ ํผ ํ์ด๋ฅผ ๋ฒจ๋ก๊ทธ์ ์ฌ๋ ค๋๊น ํฉ๋๋ค.
๋ ๋ฏธ๋ฃจ์ง๋ง๊ณ ๊ณต๋ถํ๊ฑฐ ์ฌ๊น์ฌ๊น ์ฌ๋ ค์ผ์ฃ ^^
ArrayList
๊ธฐ์กด์ ๋ฐฐ์ด์ ๋ฌธ์ ์ ์ด ๋๊ฐ์ง๊ฐ ์๋๋ฐ
1 . ์ ์ฅํ ์ ์๋ ๊ฐ์ฒด ์๊ฐ ๋ฐฐ์ด์ ์์ฑํ ๋ ๊ฒฐ์
2 . ๊ฐ์ฒด๋ฅผ ์ญ์ ํ์ ๋ ํด๋น ์ธ๋ฑ์ค๊ฐ ๋น๊ฒ ๋จ
์ด๋์ ์ฉ๋ ์ ์ฅ์ ํจ์จ์ ์ด์ง ๋ชปํ๋ต๋๋ค. ๋์ค์ ํ๋ก ๊ฐ๋ฐ์๊ฐ ๋๋ฉด ์ ๊ฒฝ์ฐ๊ฒ ๋ ์ผ์ด ์๊ฒ ์ฃ ? ๊ทธ๋์ ๊ทธ๊ฑธ ๋ณด์ํ๊ธฐ ์ํด ๋์จ๊ฒ List ์ปฌ๋ ์
์ด๋๋๋ค.
List ์ปฌ๋ ์
์ ์๋์ ๊ฐ์ ์ฅ์ ์ ๋ณด์ ํ์ฌ ๋ฐฐ์ด์ ์ข ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ฒ ๋์์ค๋ต๋๋ค.
1 . ๊ฐ์ฒด๋ฅผ ์ธ๋ฑ์ค๋ก ๊ด๋ฆฌ
2 . ๊ฐ์ฒด ์ ์ฅ ์ ์๋ ์ธ๋ฑ์ค๊ฐ ๋ถ์ฌ
3 . ์ค๋ณตํด์ ๊ฐ์ฒด ์ ์ฅ์ด ๊ฐ๋ฅ
4 . ๊ฐ์ฒด ์์ฒด๋ฅผ ์ ์ฅํ๋ ๊ฒ์ด ์๋ ๊ฐ์ฒด ๋ฒ์ง๋ฅผ ์ฐธ์กฐ
5 . ์ถ๊ฐ, ์ญ์ , ๊ฒ์ ์ํ ๋ค์ํ ๋ฉ์๋ ์ ๊ณต
์ค๋ ๋ค๋ค๋ณผ ๊ฒ์ ๊ทธ์ค ๊ตฌํ ํด๋์ค์ ํ๋์ธ ArrayList์ ๋๋ค.
class Student {
private String name;
private String phone;
public Student() {
this(โNoneโ, โNoneโ);
}
public Student(String name, String phone) {
this.name = name;
this.phone = phone;
}
public String getName() {
return name;
}
public String getPhone() {
return phone;
}
@Override
public String toString() {
return "Student [name=" + name + ", phone=" + phone + "]";
}
}
๋ฌธ์
์ด๋ฐ ์ฝ๋๊ฐ ์์ต๋๋ค. ArrayList ๊ฐ์ฒด์ ๋ฐฐ์ด์ ๋ด๊ณ
์ด๋ฐ์ฉ์ผ๋ก ์ถ๋ ฅ์ ํด์ผํฉ๋๋ค. ์ด๋ ๊ฒ ์ถ๋ ฅํ๊ธฐ ์ํด ํด์ผํ ๊ฒ์ ์ ๋ฆฌํด๋ด
์๋ค.
1 . alist ๋ง๋ค๊ธฐ
2 . alist์ ํ์ ์ ๋ณด ์ ์ฅ
3 . alist์ ๋ชจ๋ ์์ ์ถ๋ ฅ
4 . ์ด๋ฆ scanner๋ก ์ ๋ ฅ๋ฐ๊ณ ์ ๋ฒ์ถ๋ ฅ
5 . ์ด๋ฆ ์ ๋ ฅ๋ฐ๊ณ ํด๋น ์์ ์น๋ค์ง์ฐ๊ธฐ
๋ฌธ์ ์์ฒด๊ฐ ArrayList๋ฅผ ์ตํ๊ธฐ์ ๋ฑ ์ฌํํ๊ณ ์ข๋ค์. ์ฒ์ ์จ๋ดค๋๋ฐ 20๋ถ์ด๋ฉด ๋๋๋ผ๊ณ ์.
1๋ฒ๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ ํ์ด๋ด
์๋ค.
alist ๋ง๋ค๊ธฐ
List<Student> alist = new ArrayList<Student>();
๊ฐ๋จํ์ฃ ? ์ ๋ค๋ฆญ์ปฌ๋ ์ ์ด๋ผ๋ ๊ฒ ์์ฒด๊ฐ ํ์ ์ ํ๋ผ๋งคํฐ๋ก ๊ฐ์ง๊ธฐ๋๋ฌธ์ ์ฌ๊ธฐ์๋ Student๋ผ๋ ํด๋์ค๋ฅผ ํ์ ์ผ๋ก ๊ฐ์ง๋ฉด ๋๊ฒ ์ฃ ?
alist์ ํ์ ์ ๋ณด ์ ์ฅ
alist.add(new Student("name0","phone0"));
alist.add(new Student("name1","phone1"));
alist.add(new Student("name2","phone2"));
alist.add(new Student("name3","phone3"));
alist.add(new Student("name4","phone4"));
๊ฐ๋จํ๊ฒ ๋ฆฌ์คํธ์ ์ถ๊ฐ์์ผ์ฃผ๋ฉด ๋ฉ๋๋ค. ์ฒ์์ ๊ฐ์ฒด๋ฅผ ์ด๋ป๊ฒ ์ถ๊ฐ์ํฌ์ง ๋ชฐ๋ผ์ ํด๋งธ๋๋ฐ ํ๋ผ๋ฉํฐ๊ฐ์ด ์ด์งํผ Student์ฌ์ ๊ทธ๋ฅ new๋ก ์์ฑ์์ ๋ฃ์ด์ฃผ๋ฉด ๋๋๋ผ๊ตฌ์.
alist์ ๋ชจ๋ ์์ ์ถ๋ ฅ
for(Student std : alist)
{
System.out.println(std);
}
๋ถ๊ณผ ์๋๋ฌ ์ ๋ง ํด๋ ๊ฐ์ฒด ๋ฐ๋ณต๋ฌธ์ด ๋ถํธํ์๋๋ฐ ์ข ๊ณต๋ถํ๋ค๋ณด๋ ํธํด์ก์ต๋๋ค.
std๋ ๋ณ์๋ฅผ ์ด์ฉ. alist์์ ์ฐจ๋ก๋๋ก ๊ฐ์ฒด๋ฅผ ๊บผ๋ด์ student์๋ค ๋ฃ๊ฒ ๋ค๋ ์๋ฆฌ์
๋๋ค.
์ด๋ฆ scanner๋ก ์ ๋ ฅ๋ฐ๊ณ ์ ๋ฒ์ถ๋ ฅ
Scanner input = new Scanner(System.in);
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์๋ฉด ์ ํ๋ฒํธ๋ฅผ ๋๋ฆฝ๋๋ค : ");
String name = input.next();
for(int i=0; i<alist.size(); i++)
{
if(name.equals(alist.get(i).getName()))
System.out.print("name"+Integer.toString(i)+"์ ์ ํ๋ฒํธ = "+alist.get(i).getPhone());
}
System.out.println("");System.out.println("");
์ค์บ๋๋ก ์ ๋ ฅ๋ฐ๊ณ for๋ฌธ ๋๋ ค์ name์ค์์ ๊ฐ์๊ฒ ์์ผ๋ฉด getPhoneํด์ ํฐ๋ฒ ์ถ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์๋ฉด ์ ๋ณด๋ฅผ ์ญ์ ํฉ๋๋ค : ");
String del = input.next();
for(int j=0; j<alist.size(); j++)
{
if(del.equals(alist.get(j).getName()))
{
alist.remove(j);
}
}
for(Student std : alist)
{
System.out.println(std);
}
์์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ๋๋ฐ remove๋ก ๋ฐฐ์ด ํ๋ ํต์ฑ๋ก ์ง์์ฃผ๋ฉด ๋!
์ฌํํ ๋ฌธ์ ์์ง๋ง ArrayList ๊ธฐ์ด๋ฅผ ์ตํ๊ธฐ์ ๋ถ์กฑํจ์ด ์๋ ๋ฌธ์ ์์ต๋๋ค.
๋ค์ ์ฑํฐ๊ฐ ํ์ผ ์
์ถ๋ ฅ์ด๋๊ฐ? ์์ผ๋ ๋ฏธ๋ฆฌ ์ข ์ดํด๋ด์ผ๊ฒ ๋ค์.
์๋ ์ฝ๋ ์ ๋ฌธ ์ฒจ๋ถํฉ๋๋ค.
import java.util.*;
public class Test {
public static void main(String args[])
{
System.out.println("20215242 ์ ๋ น๊ฐ ArrayList ์ฐ์ต๋ฌธ์ ํ์ด");
//ํ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ alist ์์ฑ
List<Student> alist = new ArrayList<Student>();
//์คํํ๋ฉด๊ณผ ๊ฐ์ด alist์ ํ์ ์ ๋ณด๋ฅผ ์ ์ฅ
alist.add(new Student("name0","phone0"));
alist.add(new Student("name1","phone1"));
alist.add(new Student("name2","phone2"));
alist.add(new Student("name3","phone3"));
alist.add(new Student("name4","phone4"));
//alist์ ๋ชจ๋ ์์๋ฅผ ์ถ๋ ฅ
for(Student std : alist)
{
System.out.println(std);
}
System.out.println("");
//์ฌ์ฉ์์๊ฒ ์ด๋ฆ์ ์
๋ ฅ ๋ฐ์ ์ ํ๋ฒํธ ๊ฒ์ ํ ํด๋น ๋ด์ฉ ์ถ๋ ฅ
Scanner input = new Scanner(System.in);
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์๋ฉด ์ ํ๋ฒํธ๋ฅผ ๋๋ฆฝ๋๋ค : ");
String name = input.next();
for(int i=0; i<alist.size(); i++)
{
if(name.equals(alist.get(i).getName()))
System.out.print("name"+Integer.toString(i)+"์ ์ ํ๋ฒํธ = "+alist.get(i).getPhone());
}
System.out.println("");System.out.println("");
//์ฌ์ฉ์์๊ฒ ์ด๋ฆ์ ์
๋ ฅ ๋ฐ์ ๋ฐ์ดํฐ ์ญ์ ํ alist์ ๋ชจ๋ ์์๋ฅผ ์ถ๋ ฅ
System.out.print("์ด๋ฆ์ ์
๋ ฅํ์๋ฉด ์ ๋ณด๋ฅผ ์ญ์ ํฉ๋๋ค : ");
String del = input.next();
for(int j=0; j<alist.size(); j++)
{
if(del.equals(alist.get(j).getName()))
{
alist.remove(j);
}
}
for(Student std : alist)
{
System.out.println(std);
}
}
}
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ฉโ๐๊ณต๋ถ-์๋ฐ ArrayList), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@ghost_dog/๊ณต๋ถ-์๋ฐ-ArrayList์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค