ArrayList 이해하기
- ArrayList란?
- add
- get
- size
- contains
- remove
ArrayList란?
ArrayList와 배열의 가장 큰 차이는 배열의 경우는 배열의 경우는 길이가 정해져 있지만 ArrayList는 길이가 동적으로 변한다는 점이 큰 차이입니다. 그리고 ArrayList를 사용하기 위해서는 import 해주어야 합니다.
ArrayList student = new ArrayList();
선언 방법은 위와 같습니다. 배열과 다르게 자료형을 입력하지 않고 ArrayList를 적어줍니다. 이때 저장되는 데이터의 자료형은 모든 자료형의 부모인 Object형이 됩니다.
import java.util.ArrayList;
public class Test{
public static void main(String[] args){
ArrayList student = new ArrayList();
}
}
위와 같이 import 문을 작성해주셔야 ArrayList를 사용할 수 있습니다. 작성된 코드를 보면 ArrayList클래스를 이용하여 student라는 이름을 가지는 객체를 생성하는 구조처럼 보입니다.
ArrayList<String> student = new ArrayList<>();
ArrayList에 자료형을 제한하기 위해서 위와 같이 <> 사이에 자료형을 입력하기도 하는데 이러한 것을 제네릭스라고 합니다.
add
ArrayList객체에 데이터를 저장하기 위해서 add를 사용합니다.
import java.util.ArrayList;
public class Test{
public static void main(String[] args){
ArrayList student = new ArrayList();
student.add("홍길동");//비어있는 index중 가장 낮은값에 저장
student.add(1,"김철수");//index값이 1인곳에 저장
}
}
저장 방법은 클래스 안에 있는 메서드를 사용하듯 add를 이용하여 추가를 해줍니다.
get
추가를 하였으면 값을 불러올 수도 있어야 합니다. 그때 사용되는 메서드가 get입니다.
System.out.println(student.get(0));
//index값이 0의 데이터 "홍길동" 출력
size
size메서드는 ArrayList에 저장된 데이터의 개수를 출력합니다.
System.out.println(student.size());
//출력 값은 2
위의 add예시에서 2개를 입력해두었기 때문에 size는 2가 됩니다.
contains
contains는 ArrayList안에 해당 값이 이미 저장되어있는지 확인하는 메서드입니다.
System.out.println(student.contains("홍길동");
//홍길동을 저장하였기 때문에 출력 값은 true
remove
값을 지우고 싶을 때 사용하는 메서드입니다. index를 이용하는 방법과 데이터 내용을 이용하는 방법이 있습니다.
System.out.println(studen.remove("홍길동"));
//출력되는 값은 true
데이터 내용을 통하여 삭제를 할 때는 위와 같이 삭제를 하며 결과는 삭제가 되었다는 확인을 위한 true가 나오게 됩니다.
System.out.println(student.remove(1));
//출력 값은 "김철수"
index값으로 remove 하는 경우는 저장되어있던 데이터 값을 출력하여 삭제된 데이터가 어떤 값을 가지고 있었는지 출력됩니다.