초보 개발자의 스터디룸

[Java] ArrayList - 1(생성)

justdoIT0730 2022. 11. 28. 15:17
728x90
728x90

2022.11.28 - [초보 개발자의 스터디룸] - [Java] Collections Framework(List, Set, Map)이란?

 

[Java] Collections Framework(List, Set, Map)이란?

1. Collections Framework란? 컬렉션 프레임워크란 데이터 군을 저장하는 클래스들을 표준화한 설계를 지칭한다. Java API 문서에서 data group을 다루고 표현하기 위한 단일화된 구조라고 정의한다. 컬렉션

justdoit0730.tistory.com

 

 ArrayList는 Object 배열을 이용해 데이터를 순차적으로 저장한다.

첫 번째로 저장한 객체는 Object배열의 0번째 위치에 저장되고 그 다음에 저장하는 객체는 1번째 위치에 저장된다. 배열에 더이상 저장할 공간이 없으면 보다 큰 새로운 배열을 생성해서 기존 배열에 저장된 내용을 새로운 배열로 복사한 다음 저장된다.

 

- index 시작은 0 : 일반 배열과 동일

- ArrayList 크기 가변적으로 변동 : 일반 배열은 크기 고정

 

다음 예제를 통해 ArrayList 내 메서드들을 확인해보자.

[출처] Java의 정석 3판 p.585

import java.util.*;

public class Q {
	public static void main(String[] args) { 
		ArrayList list1 = new ArrayList(10); //1
		list1.add(5);
		list1.add(4);
		list1.add(2);
		list1.add(0);
		list1.add(1);
		list1.add(3);
		
		ArrayList list2 = new ArrayList(list1.subList(1, 4));
		print(list1, list2);
		
		Collections.sort(list1);
		Collections.sort(list2);
		print(list1, list2);
		
		System.out.println("list1.containAll(list2) : "+ list1.containsAll(list2));
		list2.add("B");
		list2.add("C");
		list2.add(3,"A");
		print(list1, list2);
		
		list2.set(3, "AA");
		print(list1, list2);
		
		System.out.println("list1.retainAll(list2) : " +list1.retainAll(list2));
		print(list1, list2);
		
		for(int i=list2.size()-1; i>=0; i--) {
			if(list1.contains(list2.get(i))) {
				list2.remove(i);
			}
		}
		print(list1, list2);
	}
	
	static void print (ArrayList list1, ArrayList list2) {
		System.out.println("list1 : " + list1);
		System.out.println("list2 : " + list2);
		System.out.println();
	}
}

//1 : ArrayList 생성

✓ ArrayList를 선언하는 다양한 방식

ArrayList<Integer> integers1 = new ArrayList<Integer>(); // 타입 지정
ArrayList<Integer> integers2 = new ArrayList<>(); // 타입 생략 가능
ArrayList<Integer> integers3 = new ArrayList<>(10); // 초기 용량(Capacity) 설정
ArrayList<Integer> integers4 = new ArrayList<>(integers1); // 다른 Collection값으로 초기화
ArrayList<Integer> integers5 = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5)); // Arrays.asList()

✓Arrays.asList란? : 일반 배열을 ArrayList로 변환하는 기능

ArrayList integers5 선언 시 (1, 2, 3, 4, 5)를 ArrayList로 변환하여 바로 integers5에 삽입하였다.

 

 

728x90

[출처]

https://psychoria.tistory.com/765

 

[Java] 자바 ArrayList 사용 방법

ArrayList는 자바에서 기본적으로 많이 사용되는 클래스입니다. ArrayList는 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나입니다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하며 인

psychoria.tistory.com

https://m.blog.naver.com/roropoly1/221140156345

 

[JAVA] Arrays.asList()

일반 배열을 ArrayList로 변환한다. Arrays.asList()는 Arrays의 private 정적 클래스인 ArrayList...

blog.naver.com

 

728x90
728x90