반응형
- List의 메서드 설명 + ArrayList 사용 예제
List 란?
- 순서가 있는 데이터의 집합, 중복허용
List의 메서드 정리
add(Object o)
- o를 list의 가장 마지막 자리에 추가, 성공시 true return
add(int index, Object o)
- 해당 인덱스 자리에 o 추가, 성공시 true return
set(int index, Object o)
- 해당 인덱스 자리의 값을 o로 수정, 수정되기 전 값을 return
remove(int index)
- 해당 인덱스 자리의 값 삭제, 삭제되는 값을 return
remove(Object o)
- o 삭제, 성공시 true return
clear()
- list의 모든 값 삭제
get(int index)
- 해당 인덱스 자리의 값 return
size()
- list의 크기 return
contains(Object o)
- list에 o가 포함되어 있는지 여부 return
conntainsAll(Collection c)
- list에 Collection이 모두 포함되어 있는지 여부 return
subList(int startIndex, int endIndex)
- startIndex부터 endIndex - 1번째 까지의 값을 추출하여 list 형태로 return
addAll(Collection c)
- list에 Collection 타입 객체를 한번에 추가
addAll(int index, Collection c)
- list의 index 자리부터 Collection을 모두 추가
iterator()
- list에 순서대로 접근하기 위한 iterator 반환
List의 종류
- List의 종류로는 ArrayList, LinkedList 등이 존재
- ArrayList는 배열 형태로 데이터를 저장하고, LinkedList는 자신의 앞,뒤 자료의 주소정보를 갖는 형태로 데이터를 저장
- ArrayList는 자료가 순차적일때 유리하고, LinkedList는 자료의 삽입, 삭제가 빈번할 때 유리함
ArrayList 예제
package CollectionTest.ListTest;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> clist = new ArrayList<>(); // 이런식으로 타입을 지정해 줄 수 있고
List alist = new ArrayList(); // 타입을 안 지정해 주면 int, String 등 상관없이 등록 가능
alist.add(3);
alist.add(2);
alist.add(1);
alist.add("hello");
System.out.println(alist.toString()); // 다음과 같이 한번에 출력할 수도 있고
for(int i = 0; i < alist.size(); i ++) { // 이처럼 반복문을 사용해 출력할 수도 있음
System.out.println(alist.get(i));
}
alist.remove(0); // 0번째 index에 있는 값 삭제
System.out.println(alist.toString());
alist.add(1, "hi"); // 1번째 index에 "hi" 추가
System.out.println(alist.toString());
alist.set(1, "bye"); // 1번째 index값을 "bye"로 변경
System.out.println(alist.toString());
List blist = new ArrayList();
blist.addAll(alist.subList(1,3)); // alist의 1~2값을 blist에 넣어줌
System.out.println(blist.toString());
}
}
결과
[3, 2, 1, hello]
3
2
1
hello
[2, 1, hello]
[2, hi, 1, hello]
[2, bye, 1, hello]
[bye, 1]
반응형
'JAVA > 기본 문법' 카테고리의 다른 글
[JAVA] 예외처리 (Exception Handling) (0) | 2022.04.14 |
---|---|
[JAVA] Stack & Queue (0) | 2022.04.13 |
[JAVA] 컬렉션 프레임워크 - 2. Set (+ iterator) (0) | 2022.04.12 |
[JAVA] 컬렉션 프레임워크 - 1. Map (+ value값으로 검색) (0) | 2022.04.12 |
[JAVA] 컬렉션 프레임워크 (Collection Framework) (0) | 2022.04.12 |