배열과 [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 |