본문 바로가기

개발자노트

컬렉션 프레임워크 [ArrayList]

배열과 [ArrayList] 의 차이

 

 

배열 [ArrayList] 
크기가 분명히 정해져있어야함  == 요소의 개수 요소를 계속 추가할 수 있음
-> data.length   ->size()
자료형 고정,크기고정,같은 타입,관련된 조건 자료형 자유, 크기자유 → 강제가 없어서 오히려 불편할 수도 있다(형변환), 실수에 관대해짐

 

package class01;

import java.util.ArrayList;

class A {
	int a;
	int b;

	A(int a, int b) {
		this.a = a;
		this.b = b;
	}

	@Override
	public String toString() {
		return " A 클래스로 만든 객체";
	}
	
}

public class Test01 {

	public static void main(String[] args) {
		// 컬렉션 프레임워크
		// 리스트,맵,셋, ...
		// 그 중 List 배열 / 링크
		// 그 중 배열List [ ArrayList ]

		ArrayList al = new ArrayList();
		// 자료형 xxx
		// 요소의 개수 xxx
		// 이유 - add. 을 보면 오버로딩 되어있음!

		System.out.println(al);
		// toString()이 오버라이딩 됨! 출신은 오브젝트가 아니라 앱스트랙컬렉션 , 즉 ArrayList의 부모는 앱스트랙컬렉션

		al.add(10);
		al.add(20);
		System.out.println(al);
		al.add(0, 30); // 0번 자리에 30 넣을래!
		System.out.println(al);

		// al.clear(); // 값들을 모두 비운다
		// System.out.println(al);

		System.out.println(al.get(0)); // 0번 인덱스에 무엇이 있는지 알려줌

		System.out.println(al.isEmpty()); // is 가 붙는 거는 대부분 boolean ~~니?

		al.remove(1);
		System.out.println(al);

		System.out.println(al.size()); // 배열의 크기를 볼 수 있음

		al.add(3.14);
		al.add("apple");
		al.add(new A(-1, -2));
		A a = new A(1, 2);
		al.add(a);
		System.out.println(al);

	}

}

'개발자노트' 카테고리의 다른 글

컬렉션 프레임워크 <제네릭>  (0) 2022.06.23
컬렉션 프레임워크 [ArrayList] 랜덤 홀수담기  (0) 2022.06.23
클래스 ) 인터페이스  (0) 2022.06.22
클래스) 추상메서드  (0) 2022.06.22
클래스) 추상클래스  (0) 2022.06.22