자바 ArrayList 의 사용방법과 예제


안녕하세요. 율이맨입니다.

오늘은 ArrayList의 사용법에 대해서 알아보겠습니다.


ArrayList란?

List는 인터페이스 클래스이며 Collection 인터페이스를 구현한 것입니다.

ArrayList는 List를 상속받은 클래스로 길이를 지정하지 않아도 되고, 자유롭게 확장할 수 있습니다.

고정된 크기, Size를 초기화해줄 필요가 없으며, 동적으로 변경할 수 있습니다.

이게 가장 큰 장점이라고 할수 있습니다.



ArrayList 의 사용법


1. ArrayList 생성

import java.util.ArrayList; 

ArrayList alist1 = new ArrayList(); //타입을 지정하지 않음

ArrayList<E> alist2 = new ArrayList<E>();//E객체의 타입을 설정

ArrayList<String> alist3 = new ArrayList<String>();//String 타입을 설정 


타입을 지정하지 않으면 add 할 때 Object 형식으로 데이터를 넘겨 받습니다.

boolean java.util.ArrayList.add(Object e)
따라서 값을 꺼낼 때 타입 변환을 해야 합니다.

그래서 제네릭을 사용하는게 좋습니다.
ArrayList 내에서 사용할 데이터 타입을 생성 시 지정 할 수 있습니다.
boolean java.util.ArrayList.add(String e)
제네릭을 사용하면 데이터를 꺼낼 때 형변환을 하지 않아도 됩니다.

2. ArrayList 에 값 추가 add

ArrayList<String> alist3 = new ArrayList<String>();
alist3.add("TEST1"); //값 추가
alist3.add(null); //null값 추가
alist3.add(1,"TEST2"); //index 1뒤 TEST2 삽입


3. ArrayList 값 삭제 remove

alist3.remove("TEST1"); //동일 오브젝트를 검색하여 삭제
alist3.remove(0); //인덱스를 이용하여 삭제
alist3.clear(); //모든값 제거

remove(Object element) remove(int index) 가 있습니다.

remove(Object element) 는 삭제여부를 true,false 로 리턴해주고,

remove(int index)무엇을 삭제했는지를 리턴해줍니다.


4. ArrayList 값 출력하기

ArrayList<String> alist = new ArrayList<String>();
        
//인덱스를 활용한 조회
System.out.println(alist.get(0));//0번째 index 출력
System.out.println(alist.get(1));//1번째 index 출력
System.out.println(alist.get(2));//2번째 index 출력
		
//Iterator 를 통한 조회
Iterator iterator = alist.iterator(); //Iterator 선언 
while(iterator.hasNext()){
	System.out.println(iterator.next()); //값 출력
}
        
//for-loop 를 통한 조회
for(String s : alist) { 
	System.out.println(s);
}


5. 값이 있는지 확인

ArrayList<String> alist = new ArrayList<String>();
        
System.out.println(alist.contains("TEST")); //TEST가 있는지 검색 결과 boolean, 있으면 true
System.out.println(alist.indexOf("TEST")); //TEST가 있는 index 반환 없으면 -1


ArrayList의 사용법을 알아보았습니다.

Collection 의 구성과 사용법은 아래 링크를 참조해주세요.


[JAVA] 자바 컬렉션(Collection) 의 구성과 사용법


공감과 댓글, 그리고 구독은 큰 힘이 됩니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기