java도 결국 효과적인 데이터를 처리하기 위한 수단 / 다양한 자료구조형을 제공
다양한 자료구조형이 제공되는 이유는?
데이터의 성질에 따라서 데이터를 관리(정리)해야 하는 방식이 다르기 때문
자료 구조형안에서는 객체의 레퍼런스(주소 값)만을 관리
객체데이터는 메모리에 바로 값이 할당 int i = 10;
배열도 배열안에 값이 바로 들어가있는게 아니라 들어가 있는 값의 주소 값을 가리키는 것
자료 구조 중 아마도 가장 많이 사용하고 쉽게 사용할 수 있는 자료구조형
List는 배열과 비슷하지만 배열의 단점을 보완
처음 만들 때 크기를 고정하지 않아도 됨
선언만 하고 크기를 늘리고 줄이고 가능! (가변적)
import java.util.ArrayList;
public class ArrayList_ex {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("str1");
arrayList.add("str2");
arrayList.add("str3");
arrayList.add("str4");
System.out.println(arrayList.toString());
// index 값이 3인곳의 데이터를 index3에 할당
String index3 = arrayList.get(3);
System.out.println("index4 = " + index3);
// 데이터를 다시 설정
arrayList.set(2, "str22222");
System.out.println(arrayList.toString());
// 크기가 얼마인지
int size = arrayList.size();
System.out.println("size:" + size);
// 해당되는 index 삭제
arrayList.remove(2);
System.out.println(arrayList.toString());
// 모두 삭제
arrayList.clear();
System.out.println(arrayList.toString());
// 주소 값이 없어짐(연결 끊어짐)
arrayList = null;
System.out.println(arrayList);
}
}
실제론 그닥 차이를 못느낌! 편한거 쓰면 된다고 함!