// ArrayList
- import java.util.ArrayList;
- 선언 및 생성
ArrayList 리스트명 = new ArrayList();
import java.util.ArrayList;
import java.util.Collections;
public class Ex01 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10);
list1.add(new Integer(5)); //ArrayList에는 객체만 저장 가능! 그냥 5라고 써도 됨(autoboxing)
list1.add(new Integer(4));
list1.add(new Integer(2));
list1.add(new Integer(0));
list1.add(new Integer(1));
list1.add(new Integer(3));
ArrayList list2 = new ArrayList(list1.subList(1,4));
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
System.out.println();
Collections.sort(list1);
Collections.sort(list2);
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
System.out.println("list1이 list2의 모든 요소를 포함하나요? : " + list1.containsAll(list2));
System.out.println();
}
}
- 값 추가 : 제일 뒤에 추가됨.
list명.add(element);
list명.add(index, element);
- 값 가져오기 : 원하는 위치에서 가져올 수 있음.
list명.get(index);
- 특정 범위 추출
list명.subList(fromIndex, toIndex);
- 지정된 리스트의 객체를 모두 포함하는지 확인(true/false)
list명.containsAll(또다른list)
import java.util.ArrayList;
import java.util.Collections;
public class Ex01 {
public static void main(String[] args) {
ArrayList list1 = new ArrayList(10);
list1.add(new Integer(5)); //ArrayList에는 객체만 저장 가능! 그냥 5라고 써도 됨(autoboxing)
list1.add(new Integer(4));
list1.add(new Integer(2));
list1.add(new Integer(0));
list1.add(new Integer(1));
list1.add(new Integer(3));
ArrayList list2 = new ArrayList(list1.subList(1,4));
list1.add(0, "1");
list2.set(3, "AA");
System.out.println("list1 : " + list1);
System.out.println("list1에서 3의 위치는 : " + list1.indexOf(3));
System.out.println("list2 : " + list2);
System.out.println("list2에서 AA의 위치는 : " + list2.indexOf("AA"));
System.out.println();
System.out.println("list1 : " + list1);
list1.remove(1); // index 지정 삭제
System.out.println("list1에서 1번 index에 해당하는 값 삭제 : " + list1);
list1.remove(new Integer(1)); // 값 삭제
System.out.println("list1에서 값 1을 삭제 : " + list1);
System.out.println();
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
list1.retainAll(list2);
System.out.println("list1에서 list2와 겹치는 부분만 남기고 나머지는 삭제 : " + list1);
System.out.println();
System.out.println("list1 : " + list1);
System.out.println("list2 : " + list2);
for (int i = list2.size()-1; i >= 0; i--) {
if (list1.contains(list2.get(i))) {
list2.remove(i);
}
}
System.out.println("list2에서 list1과 겹치는 부분 삭제 : " + list1);
System.out.println();
}
}
- 값 변경 : 변경을 원하는 위치, 어떤 값으로 변경할 것인지 입력.
list명.set(index, element);
- 값의 위치 찾기 : 앞에서부터 탐색
list명.indexOf(o);
- 값의 위치 찾기 : 뒤에서부터 탐색
list명.lastIndexOf(o);
- 값 삭제 : 원하는 위치의 값을 삭제함.
list명.remove(index)
- 지정된 리스트와 겹치는 부분만 남김.
list명.retainAll(또다른list)
'자바(JAVA)' 카테고리의 다른 글
[자바(Java)] Iterator (0) | 2022.12.15 |
---|---|
[자바(Java)] Stack, Queue (0) | 2022.12.15 |
[자바(Java)] ★객체 지향 언어★ (0) | 2022.11.15 |
[자바(Java)] Map (0) | 2022.11.02 |
[자바(Java)] 2차원 배열, 2차원 리스트 (0) | 2022.11.02 |