[JAVA] ArrayList

우주·2022년 10월 26일
0

JAVA

목록 보기
1/2
post-thumbnail

ArrayList

import java.util.ArrayList;

ArrayList<Integer> arr1 = new ArrayList<Integer>(); // 타입을 지정함
ArrayList<Integer> arr2 = new ArrayList<>(); // 타입 생략도 가능함
ArrayList<Integer> arr3 = new ArrayList<>(10); // 초기 capa를 지정함
ArrayList<Integer> arr4 = new ArrayList<>(integers1); // 다른 Collection값으로 초기화
ArrayList<Integer> arr5 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5)); // Arrays.asList();

arr4 에서 다른 Collection의 값으로 초기화한다는 것도 잘 알아놔야한다.
더불어 위와 같이 ArrayList 생성시에는 arr2 와 같이 타입을 생략해서 사용한다.

ArrayList<Integer> number = new ArrayList<>();
number.add(1);
number.add(2);
number.add(3);
// [1,2,3]

number.add(1,12);
// [1,12,2,3]

number.set(0, 17); // set method는 기존에 값을 변경함
// [17,12,2,3]

ArrayList 요소 삭제

number.remove(1); // 인덱스를 집어넣으면 삭제됨

여기서 애매했던 것은 인덱스로도 삭제가 가능하고, 해당 엘리먼트에 값을 넣어서 삭제가 가능하다. 하지만 ArrayList의 타입이 Integer 일 경우 index로 인식하기 때문에 주의해야한다.

ArrayList순회

Iterator<String> iter = color.iterator();
while (iter.hasNext()) {
    System.out.print(iter.next() + " ");
}

// 결과 값 : 빨강 주황 노랑 초록

위와 같이 Iterator 사용시 요소값에 해당하는 길이만큼 정 방향으로 순회가 가능하다.

하지만 ArrayList에서 결과를 뒤에서 부터 반대로 출력하고 싶다면
ListIterator을 사용하자

ListIterator<String> listIter = color.listIterator(color.size());
while (listIter.hasPrevious()) {
    System.out.print(listIter.previous() + " ");
}

// 결과 값 : 초록 노랑 주황 빨강 
profile
개발합니다. 회고합니다.

0개의 댓글