Collection Framwork - ArrayList
ArrayList 란??
ArrayList는 Collection 프레임워크의 List인터페이스의 대표적인 구현 클래스이다.
일반배열과 같이 순차리스트이며 인덱스로 내부 데이터를 관리한다는점이 유사하지만
생성할때 크기를 정하는 배열과 달리 ArrayList는 객체들이 추가될때마다 크기가 늘어난다는 특징을 가지고있다.
ArrayList객체를 생성하면 10개의 객체를 저장할 수 있는 초기용량을 가지고있고 저장되는 객체 수가 늘어나면 용량이 자동으로 증가한다.
ArrayList 선언
ArrayList list = new ArrayList(); //이 경우 모든 Object클래스를 객체로 저장할 수 있다.
ArrayList<Student> student = new ArrayList<Student>(); //Student객체만 저장가능
ArrayList<String> str = new ArrayList<String>(); //문자열만 저장가능
ArrayList<Integer> num = new ArrayList<Integer>(); //정수만 저장가능
ArrayList<Integer> num2 = new ArrayList<Integer>(Arrays.asList(1,2,3)); //생성시 [1,2,3]으로 초기화
ArrayList의 타입은 객체타입이므로 기본자료형을 쓸수 없으므로 <>안에 int를 객체화시킨 Wrapper 클래스 Integer를 선언해야한다. 이것을 Generic(제너릭)이라고 한다.
ArrayList 추가
ArrayList<Integer> list = new ArrayList<Integer>(); //int만 저장가능한 ArrayList선언
list.add(1); // 맨뒤에 값 추가
list.add(1,10); //index 1에 10 추가
list.add("abc"); //Generic으로 int타입만 받도록 선언했으므로 문자열을 추가하면 컴파일에러
add메소드를 사용하면 ArrayList에 값을 추가하고 추가여부를 boolean타입으로 반환한다.
ArrayList.add(index, obj) 메소드를 사용하면 특정 인덱스에 값을 추가할 수 있는데, 이때 특정 인덱스에 값이 추가되면 그 인덱스부터 마지막 인덱스까지 모두 1씩 밀려나게된다.
이 경우 데이터가 너무 많거나 중간에 값을 추가할 일이 많다면 성능이 좋지 않으므로 ArrayList보다는 LinkedList를 사용하는 것이 좋다.
ArrayList 값 변경하기
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));//초기값으로 1,2,3이 들어있는 ArrayList선언
int num = list.set(1,10); //index 1에 있는 값이 10으로 변경되고 기존값은 반환되어 num에 저장
set(index, obj) 메소드는 특정 인덱스의 값을 obj로 변경하고 기본 값을 반환한다
위의 코드로 결과를 보면
System.out.prinln(num); // index 1에 기존 값이었던 2가 출력
System.out.println(list); // 변경된 결과인 [1,10,3] 출력
ArrayList 크기 구하기
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));
list.size(); //list 크기 반환
System.out.prinln(list.size()); //list 크기 출력
ArrayList 값 출력
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));
int num1 = list.get(0) //index 0에 들어있는 값을 반환에 변수에 저장
System.out.prinln(num1) //출력 : 1
for(int i = 0; i < list.size(); i++){
System.out.prinln(list.get(i));
}
//반복문을 통한 전체내용 출력
ArrayList 값 삭제
ArrayList<Integer> list = new ArrayList<Integer>(Arrays.asList(1,2,3));
list.remove(1) //index 1에 있는 값 제거
list.clear(); //모든 값 제거
Author And Source
이 문제에 관하여(Collection Framwork - ArrayList), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jangmoonseok/Collection-Framwork-ArrayList저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)