본문 바로가기

자바(JAVA)
[자바(Java)] ArrayList

// 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