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
'▸JAVA > 라이브러리(API)' 카테고리의 다른 글
java.util.LinkedList 주요 메소드 [1/1] (2) | 2019.12.10 |
---|---|
java.util.Vector 주요 메소드 [1/1] (2) | 2019.12.10 |
java.util.regex 주요 메소드 [1/1] (2) | 2019.12.10 |
java.util.Random 주요 메소드 [1/1] (2) | 2019.12.10 |
java.util.StringTokenizer 주요 메소드 [1/1] (2) | 2019.12.10 |
댓글