728x90
반응형
ArrayList
컬렉션 클래스. ArrayList를 먼저 사용해서 정리해 보지만.
가장중요한 컬렉션의 개념과 구조를 다음에 정리해야겠다.
왜냐? 기초가 중요하기 떄문이다.
어디서 파생되었고 원리를 알아야 잘 쓸수 있기 때문이다.
ArrayList란?
컬렉션 프레임웍 중에 많이 사용되는 컬렉션 클래스.
특징
- List 인터페이스를 구현
- 데이터의 저장순서가 유지된다.
- 중복을 허용한다.
중요점
- vector 보다 ArrayList를 사용하는 것을 권장한다.
- vector는 호환성 때문에 남겨 두었다고 한다.
- 이래서 기초와 API를 보는것이 중요하다.
초기화 및 생성하기
// 기본으로 10 크기로 생성 타입은 String 생성자 생략가능
ArrayList<String> stringList1 = new ArrayList<>();
// String 타입 지정, 생성시 타입 지정
ArayList<String> stringList2 = new ArrayList<String>();
// 크기지정
ArrayList<String> stringList3 = new ArrayList<>(10);
// 기존에 선언한 list 를 복사하여 생성가능
ArrayList<String> stringList4 = new ArrayList<>(stringList1);
ArrayList에 추가하기
// 마지막에 추가
stringList1.add("A");
stringList1.add("B");
// index를 지정하여 추가
stringList1.add(1,"C");
ArrayList에 존재하는지 확인
// contains
if (stringList1.contains("A")) {
System.out.println("Find");
}
Index 조회하기
//find index
int index = stringList1.lastIndexOf("B");
System.out.println(index);
Iterator 로 조회하기
//iterator
ListIterator<String> stringIter = stringList1.listIterator();
while (stringIter.hasNext()){
System.out.println(stringIter.next());
}
삭제하기
//remove 특정 객체 삭제
stringList1.remove("A");
// 반복하면서 삭제
for(int i = 0; i < stringList1.size(); i++) {
stringList1.remove(i);
}
// clear 함수 호출하여 삭제
stringList1.clear();
empty 확인
//empty
if (stringList1.isEmpty()) {
System.out.println("Empty");
}
전체코드
package hello.core;
import java.util.ArrayList;
import java.util.ListIterator;
public class ExArrayList {
public static void main(String[] args) {
ArrayList<String> stringList1 = new ArrayList<>(); // 기본으로 10
ArrayList<String> stringList2 = new ArrayList<String>(); // String 타입지정
ArrayList<String> stringList3 = new ArrayList<>(10); // 크기 지정
ArrayList<String> stringList4 = new ArrayList<>(stringList1); // list 값복사 초기화
// Add
stringList1.add("A");
stringList1.add("B");
stringList1.add(1,"C");
// contains
if (stringList1.contains("A")) {
System.out.println("Find");
}
//find index
int index = stringList1.lastIndexOf("B");
System.out.println(index);
//iterator
ListIterator<String> stringIter = stringList1.listIterator();
while (stringIter.hasNext()){
System.out.println(stringIter.next());
}
//remove
stringList1.remove("A");
for(int i = 0; i < stringList1.size(); i++) {
stringList1.remove(i);
}
// clear
stringList1.clear();
//empty
if (stringList1.isEmpty()) {
System.out.println("Empty");
}
}
}
더 공부해보고 싶은 사람은 아래 java API 사이트를 활용하자.
docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/ArrayList.html
728x90
반응형
'Language > Java' 카테고리의 다른 글
[Java] Annotation (0) | 2021.08.20 |
---|---|
[Java] Collection Framework (0) | 2021.08.20 |
[Java] Lambda (0) | 2021.08.06 |
[Java] Sort (0) | 2021.05.29 |
[Java] ArrayList to String[] (0) | 2021.05.23 |
댓글