본문 바로가기
코딩일기/Java

[Java] ArrayList 란?

by 욱파이어니어 2021. 6. 18.
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

 

[Java] LinkedList 란?

LikedList란? LinkedList는 아래 사진처럼 각각의 노드가 그림처럼 연결되어 있는 형태로 저장이 되는 방식이다. 그래래서 각각의 노드들은 자기와 연결되어 있는 노드들에 대한 정보만 가지고 있지

wpioneer.tistory.com

 

 

 

 

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 반환

 

 

 

참조 블로그 : https://coding-factory.tistory.com/551

반응형

'코딩일기 > 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