컬렉션의 기능
: 크기 자동조정, 추가, 수정, 삭제, 반복, 순회, 필터, 포함확인 등
Collection
에는 List
, Set
, Queue
, Map
이 있다.List
: 순서 있고 중복 있는 배열
: 순서가 있는 데이터의 집합(데이터 중복 허용) - 배열과 비슷함
Queue (많이 쓰임)
: 빨대처럼 한 쪽에서 데이터를 넣고 반대쪽에서 데이터를 뺄 수 있는 집합
:Firsy In First Out
: 먼저 들어간 순서대로 값을 조회할 수 있음
Set
: 순서 없고 중복 없는 배열
: 순서가 없는 데이터의 집합(데이터 중복 허용 안함)
Map
: 순서가 없는 (Key, Value) 쌍으로 이루어진 데이터의 집합(Key값 중복 허용 안함)
Collection은 기본형 변수가 아닌 참조형 변수를 저장함
int
의 참조형 변수 = Integer
long
의 참조형 변수 = Long
double
의 참조형 변수 = Double
String
은 원래부터 참조형 변수Map을 의도치않게 선행학습하면서 공부했던 부분이라 바로 납득!
: 순서가 있는 데이터의 집합 => Array
(최초 길이를 알아야 함)
: 처음에 길이를 몰라도 만들 수 있음
: 1) Array
-> 정적배열
: 2) List(ArrayList)
-> 동적배열(크기가 가변적으로 늘어난다)
Array 간단 설명
:
Array
는 메모리에서 요청한 만큼 최초에 정적으로 값을 받고 그것을실제로 저장하는 기본형 변수
로 저장함
List 간단 설명
: 생성 시점에 작은 연속된 공간을 요청해서 참조형 변수들을 담아놓는다.
: 값이 추가될 때 더 큰 공간이 필요하면 더 큰 공간을 받아서 계속 동적으로 저장하니까 상관 없음
💡 기억하면 좋음!
.toString()
:.
앞에 있는 값을 사람이 볼 수 있도록 하는 것
// 선언 + 생성
ArrayList<Integer> intList = new ArrayList<Integer>();
intList.add(99);
intList.add(15);
intList.add(3);
//System.out.println(intList.get(1));
// 2번째 있는 값(15)을 바꿔보자
//intList.set(1, 10);
System.out.println(intList.get(0));
// 삭제
intList.remove(0);
System.out.println(intList.get(0));
System.out.println("클리어 전");
System.out.println(intList.toString());
intList.clear();
System.out.println("클리어 후");
System.out.println(intList.toString());
: 메모리에 남는 공간을 요청해서 여기 저기 나누어서 실제 값을 담아놓음
: 실제 값이 있는 주소 값으로 목록을 구성하고 저장하는 자료구조
: 기본적 기능은 -> Array List
와 동일함
: ✅ LinkedList
는 값 -> 여기 저기 나누어서 : 조회하는 속도가 느림
: ✅ 값을 추가하거나, 삭제할 때는 빠르다
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(5);
list.add(100);
list.add(9);
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(list.get(2));
// 조회할 때는 ArrayList보다 속도가 현저히 느리다
System.out.println(list.toString());
// add(추가)
list.add(200);
System.out.println(list.toString());
list.add(2,4);
System.out.println(list.toString());
// set(수정)
list.set(1, 30);
System.out.println(list.toString());
// Remove(삭제)
list.remove(1);
System.out.println(list.toString());
// clear(전체 삭제)
list.clear();
System.out.println(list.toString());
}