▸JAVA/라이브러리(API)

java.util.ArrayList 주요 메소드 [1/1]

코데방 2019. 12. 10.
728x90

[ ArrayList Class ]

  • 컬렉션 프레임워크 중 List 계열의 한 종류
  • 일반 배열을 조금 더 쉽게 사용할 수 있도록 함

 

일반 배열과 원리나 구조는 다르지 않습니다. 다만,  배열의 사이즈를 조정하거나 중간에 값을 삽입하거나 하는 등의 번거로운 작업이 클래스 내의 메소드로 미리 작성되어 있어 편리하게 사용할 수 있습니다. 컬렉션 프레임워크의 정확한 개념은 아래 링크를 참조하시면 됩니다.

 

2019/12/10 - [JAVA/기본 문법] - 컬렉션 프레임워크(컬렉션 API)_기본 개념 [1/4]

 


 

[ 생성자 ]

  • new ArrayList() : 기본 크기가 10인 배열 생성
  • new ArrayList(기본크기) : 기본 크기를 지정 (배열이 다 차면 기본크기만큼 사이즈가 증가함)
  • new ArrayList<제네릭>() : 배열 값의 타입을 지정
※ 제네릭 (Generic)
 - 컬렉션 객체를 생성할 때 저장되는 데이터의 타입을 미리 지정하는 기능
 - 제네릭으로 지정한 타입 외에는 담길 수 없도록 함

 


 

[ add() ]

  • 순서대로 리스트를 추가
  • 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가함
  • 인덱스를 추가로 지정해주면 해당 인덱스에 값을 삽입
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("대전");
		list.add("대구");
		list.add("부산");
		list.add(1, "LA"); // 1번 인덱스에 값 삽입
		
		System.out.println(list); // [서울, LA, 대전, 대구, 부산]
	}
}

 


[ get() ]

  • 인덱스를 제공하면 해당 값을 반환
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		System.out.println(list.get(0)); // "서울"
	}
}

 


 

[ set() ]

  • 인덱스, 바꿀 값을 제공하면 해당 인덱스의 값을 바꿔줌
package study.first;

import java.util.ArrayList;

public class Test {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("사과");
		list.add("배");
		list.add("포도");
		
		list.set(0, "감");
		System.out.println(list);  // [감, 배, 포도]
	}

}

 


 

[ indexOf() / lastIndexOf() ]

  • 값을 제공하면 해당 값의 인덱스를 반환
  • indexOf()는 0부터 순서대로 검색해서 첫 번 째 값의 인덱스를 반환
  • lastIndexOf()는 반대 순서로 검색
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		System.out.println(list.indexOf("LA"));     // 1
		System.out.println(list.lastIndexOf("LA")); // 3
	}
}

 


 

[ remove() ]

  • 인덱스 제공 시 해당 인덱스의 값 삭제
  • 값 제공 시 첫번 째 검색 값 삭제
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");
		
		list.remove(0);    // "서울" 삭제
		list.remove("LA"); // "LA" 삭제
		
		System.out.println(list); // [대전, LA, 부산]
	}
}

 


 

[ contains () ]

  • 값을 제공하면 해당 값이 배열에 있는지 검색해서 true / false 반환
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		System.out.println(list.contains("LA"));   // true
		System.out.println(list.contains("제주도")); // false
	}
}

 


 

[ toArray() ]

  • ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환
  • 저장할 배열 타입에 맞춰 자동 형변환
  • 배열 크기 또한 자동으로 맞춰서 바꿔줌
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

	ArrayList<String> list = new ArrayList<String>();

	list.add("서울");
	list.add("LA");
	list.add("대전");
	list.add("LA");
	list.add("부산");

	String[] arr = list.toArray(new String[list.size()]);
	
    for (String num : arr)
		System.out.print(num + " ");  // 서울 LA 대전 LA 부산
	}
}

 


 

[ clear() / isEmpty() ]

  • clear() : 배열의 값 모두 삭제
  • isEmpty() : 배열이 비었으면 true, 하나라도 값이 있으면 false 반환
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();

		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		list.clear();
		System.out.println(list.isEmpty());	// clear 했으므로 true
	}
}

 


 

[ addAll() ]

  • 두 컬렉션을 합침
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		ArrayList<String> list2 = new ArrayList<String>();
		list2.add("김치");
		list2.add("멸치");
		list2.add("국수");
		list2.add("비빔면");

		list.addAll(list2);	// 두 컬렉션 합치기
		System.out.println(list);
		// [서울, LA, 대전, LA, 부산, 김치, 멸치, 국수, 비빔면]
	}
}

 


 

[ containsAll() ]

  • argument로 제공한 컬렉션의 모든 값이 포함되어 있는지 여부를 true / false로 반환
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		ArrayList<String> list2 = new ArrayList<String>();
		list2.add("김치");
		list2.add("멸치");
		list2.add("국수");
		list2.add("비빔면");

		System.out.println(list.containsAll(list2)); // 합치기 전 false
		
		list.addAll(list2);	// 두 컬렉션 합치기
		System.out.println(list.containsAll(list2)); // 합친 후 true
	}
}

 


 

[ retainAll() ]

  • argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줌
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		ArrayList<String> list2 = new ArrayList<String>();
		list2.add("LA");
		list2.add("대전");

		list.retainAll(list2);     // LA, 대전 빼고 모두 삭제
		System.out.println(list);  // [LA, 대전, LA]		
	}
}

 


 

[ removeAll() ]

  • argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줌
  • retainAll() 메소드와 반대
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		ArrayList<String> list2 = new ArrayList<String>();
		list2.add("LA");
		list2.add("대전");

		list.removeAll(list2);    // list2에 포함된 값 모두 삭제
		System.out.println(list); // [서울, 부산]		
	}
}

 


 

[ size() ]

  • 현재 저장돼 있는 값의 갯수 반환
package study.first;

import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {

		ArrayList<String> list = new ArrayList<String>();
		list.add("서울");
		list.add("LA");
		list.add("대전");
		list.add("LA");
		list.add("부산");

		System.out.println(list.size());  // 5	
	}
}
728x90

댓글

💲 추천 글