Programming/JAVA
[자료구조/List] 자바 배열(Array)과 ArrayList 차이점 및 활용
Allg
2017. 7. 4. 18:14
배열(Array)과 ArrayList 차이점 및 활용
1. 배열(Array)
배열의 크기는 한번 정하면, 크기를 변경을 할 수 없습니다.
- Info[ ] infoArr = new Info[5]
- 배열 초기화시 메모리에 할당되어 ArrayList보다 속도가 빠릅니다.
2. ArrayList
- ArrayList는 크기가 가변적입니다.
- 저장하는 데이터 수에 따라서 크기가 변경됩니다.
- 데이터 추가는 add( ), 삭제는 remover( )를 사용합니다.
- 데이터 추가 삭제시 메모리를 재할당하기 때문에 속도가 배열보다 느립니다.
- ArrayList 사용법 클릭
3.ArrayListTest.java
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
System.out.println("[Array]");
// 1. 배열
Info[] infoArr = new Info[5];
for (int i = 0; i < infoArr.length; i++) {
Info in = new Info();
String str = String.valueOf(i);
in.setId(str);
in.setPass(str);
in.setName(str);
in.setPhone(str);
in.setEmail(str);
infoArr[i] = in;
}
for (int i = 0; i < infoArr.length; i++) {
System.out.print(infoArr[i].getId() + " ");
System.out.print(infoArr[i].getPass() + " ");
System.out.print(infoArr[i].getName() + " ");
System.out.print(infoArr[i].getPhone() + " ");
System.out.println(infoArr[i].getEmail() + " ");
}
System.out.println("\n[ArrayLlist]");
// 2. ArrayList
ArrayList<Info> list = new ArrayList<Info>();
for (int i = 0; i < 5; i++) {
Info in2 = new Info();
String str2 = String.valueOf(i);
in2.setId(str2);
in2.setPass(str2);
in2.setName(str2);
in2.setPhone(str2);
in2.setEmail(str2);
list.add(in2);
}
for(int i = 0 ; i < list.size() ; i++) {
System.out.print(list.get(i).getId() + " ");
System.out.print(list.get(i).getPass() + " ");
System.out.print(list.get(i).getName() + " ");
System.out.print(list.get(i).getPhone() + " ");
System.out.println(list.get(i).getEmail() + " ");
}
}
}
4. Info.java
public class Info {
private String id;
private String pass;
private String name;
private String phone;
private String email;
public Info() {
}
public Info(String id, String pass, String name, String phone, String email) {
this.id = id;
this.pass = pass;
this.name = name;
this.phone = phone;
this.email = email;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
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;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}