본문 바로가기

프로그래밍 언어/Java

[Java] ArrayList 클래스

반응형
 list란?

데이터를 일렬로 늘어놓은 자료구조

ArrayList 클래스
  1. 먼저 리스트에 저장할 데이터의 타입을 정해야 한다.
  2. 그 타입은 <타입 파라미터>로 삼아서 ArrayList 객체를 생성한다.
    ⚠️ 래퍼런스 타입만 타입 파라미터가 될 수 있다. 
    ArrayList<String> list 에서는 String 타입의 데이터만 쓸 수있고, list.add("포멜로");
    ArrayList<Integer> list 에서는 Integer 타입의 데이터만 쓸 수 있다. list.add(10);
  3. ArrayList 객체에 데이터를 저장한다.
ArrayList<String> list = new ArrayList<String>();

 

ArrayList Method (함수)
  • list.add(); - 데이터 추가 (타입 파라미터와 맞는 데이터 값을 넘겨주어야 한다)
    • 예) list.add("사과"); list.add("포멜로"); list.add("토마토")
    • 데이터 중간에 삽입하기 - list.add(인덱스 위치, 삽입할 데이터); list.add(1, "토마토");
사과 토마토 포멜로 토마토

 

  • list.get(); - 데이터 가져오기
    • 예) String str = list.get(2); 인덱스 2 위치에 있는 "포멜로"를 리턴합니다.
  • list.size(); - 데이터의 수 가져오기 
    • int num = list.size(); 리스트에 있는 데이터의 수 4을 리턴합니다.
  • list.set(인덱스위치, 교체할 데이터); - 기존 데이터 교체하기
    • list.set(0, "감자"); 인덱스 0 위치에 있는 데이터를 "감자"로 바꿉니다. 
감자 토마토 포멜로 토마토
      
  • list.remove(); - 데이터 삭제하기
    • "감자" 삭제하기 - list.remove("감자"); 또는 list.remove(0);
토마토 포멜로 토마토

 

  • list.indexOf(); - 데이터 검색하기
    • int index = list.indexOf("토마토"); 첫번째 "토마토"의 위치 0을 리턴합니다.
    • int index = list.lastIndexOf("토마토"); 마지막 "토마토"의 위치 2을 리턴합니다.

 

 

예제) ArrayList 클래스
import java.util.*;
class ArrayListExample1 {
	public static void main(String args[]) {
    
		// ArrayList 객체를 생성
		ArrayList<String> list = new ArrayList<String>();

		// 리스트에 3개의 데이터를 추가한다. 
		list.add("복숭아");
		list.add("오렌지"); 
		list.add("사과");
        
		int num = list.size();
        
		// 리스트에 있는 데이터의 수만큼 루프를 돌면서 데이터를 읽어와서 출력한다.
		for (int cnt = 0; cnt < num; cnt++) {
			String str = list.get(cnt);
			System.out.println(str); 
		}
	} 
}

  
반응형