728x90
반응형
우리는 배열을 선언하게 된다면 항상 그 배열의 크기를 설정해주어야만 한다.
그래서 값을 넣을때 배열의 크기만큼 값을 넣어주지 못하게된다면 배열의 크기를 매번 수정해줘야 한다.
그리고 값을 삭제하게되더라도 마찬가지로 배열의 크기를 변경 해주어야 하고 그리고
삭제한 값의 index를 메꾸기 위해서 index도 수정해주어야 한다.
그래서 이런 수고스러움을 덜어내기 위해서 Java에서 제공하는 클래스가 ArrayList 클래스이다.
ArrayList는 크기를 따로 지정해주지도 않아도 되기도 할뿐더러 안에 값을 삭제하더라도
저절로 index를 수정하고 크기도 수정해준다.
ArrayList 선언
ArrayList list = new ArrayList(); //타입을 따로 지정하징낳으면 Object로 선언됨
ArrayList<Integer> num = new ArrayList<Integer>(); //int형식의 값들만 추가 가능
ArrayList 값 추가
list.add(3); //값 추가
list.add(null); //null값도 add가능
list.add(1,10); //index 1뒤에 10 삽입
ArrayList는 값을 추가하거나 삭제할때 내부적으로 임시배열을 생성해서 데이터를 복사하는 방법을 사용한다.
따라서 빈번한 데이터의 추가와 삭제가 이루어질때는 ArrayList를 사용하는것이 아닌 LinkedList를 사용하는것이 맞다.
https://wpioneer.tistory.com/125
ArrayList 값 삭제
list.remove(1); //index 1 제거
list.clear(); //모든 값 제거
ArrayList 크기 구하기
list.size()
ArrayList 값 출력
//방법 1. list 자체를 출력
System.out.println(num2);
//방법 2. 특정 index의 값 출력
System.out.println(list.get(1));
//방법 2. for each문으로 각각의 값에 접근하여 출력
for(Integer i : num2) {
System.out.print(i + " ");
}
System.out.println();
//방법 3. Iterator를 사용해서 값을 출력
Iterator it = num2.iterator(); //Iterator를 통해서 list를 iterator로 줄을 세워서 줄을 뽑아 쫙 출력
while(it.hasNext()) {
System.out.print(it.next()+" ");
}
ArrayList 값 검색
list.contains(값) //있으면 true 없으면 false
list.indexOf(인덱스) // 해당 index의 값 반환 없으면 -1 반환
반응형
'코딩일기 > Java' 카테고리의 다른 글
[Java] Java 동작 원리 (0) | 2022.10.13 |
---|---|
BufferedReader와 BufferedWriter (0) | 2021.07.22 |
[Java] LinkedList 란? (0) | 2021.06.18 |
[Java] 2차원 배열 출력 방법 (0) | 2021.06.14 |
[Java] 2차원 배열 정렬 방법 (0) | 2021.06.14 |