컬렉션이란? 자료구조 개념이 내장되어 있는 클래스로
자바에서 제공하는 "자료구조"를 담당하는 "프레임워크"입니다
컬렉션 장점
- 크기 지정해줄 필요 없고 그 이상으로 데이터들이 들어오면 알아서 사이즈 늘려줍니다
- 중간에 값을 추가 및 삭제 시 알고리즘 대신 메소드 호출만으로 내부적으로 간단하게 진행할 수 있습니다
- 한 공간에 여러 타입의 데이터들을 저장할 수 있습니다
ArrayList list = new ArrayList(3);
결과값:
[Music [title=Attention, artist=뉴진스], Music [title=쌔삥, artist=지아코],
Music [title=죽일놈, artist=다이나믹 듀오], 가보자고]
- ArrayList는 크기 지정 할 수도 안 할 수도 있습니다(안하면 기본 크기 10)
1. add(E e) : 리스트 공간 끝에 전달될 데이터 추가시켜주는 메소드
list.add(new Music("Attention", "뉴진스"));
list.add(new Music("쌔삥", "지아코"));
list.add(new Music("죽일놈", "다이나믹 듀오"));
list.add("가보자고"); // 가보자고는 String 타입입니다
결과값 :
[Music [title=Attention, artist=뉴진스], Music [title=진심이 담긴 노래, artist=케이시],
Music [title=쌔삥, artist=지아코], Music [title=죽일놈, artist=다이나믹 듀오], 가보자고]
2. add(int index, E e) : 직접 인덱스를 저장해서 해당 인덱스 위치에 데이터를 추가시켜주는 메소드
list.add(1, new Music("진심이 담긴 노래", "케이시"));
- list의 특징은 순서를 유지하면서 차곡 차곡 담깁니다
- 인덱스 중간에 삽입해도 복잡한 알고리즘을 구현할 필요가 없습니다
3. remove(int index) : 해당 인덱스 위치의 데이터 삭제 시켜주는 메소드
list.remove(1);
결과값
: [Music [title=Attention, artist=뉴진스], Music [title=쌔삥, artist=지아코],
Music [title=죽일놈, artist=다이나믹 듀오], 가보자고]
4. set(int index, E e) : 해당 인덱스 위치의 데이터를 E로 수정시키는 메소드
list.set(0, new Music("next level", "에스파"));
결과값
: [Music [title=next level, artist=에스파], Music [title=쌔삥, artist=지아코],
Music [title=죽일놈, artist=다이나믹 듀오], 가보자고]
5. size() : 해당 리스트의 사이즈를 반환 시켜주는 메소드, 몇 개의 데이터가 담겨 있는지 알려준다
System.out.println("리스트의 사이즈 : " + list.size());
결과값
: 리스트의 사이즈 : 4
6. get(int index) : 해당 인덱스 위치의 객체를 반환 시켜주는 메소드
Music m = (Music) list.get(0); // list는 Object 타입으로 Music으로 강제형변환 필요
System.out.println(m);
String s = (String) list.get(3);
System.out.println(s);
결과 값 :
Music [title=next level, artist=에스파]
가보자고
7. subList(int index1, int index2) : index1번 부터 index2 - 1 번 까지 출력
List sub = list.subList(0, 2);
결과값
: [Music [title=next level, artist=에스파], Music [title=쌔삥, artist=지아코]]
8. addAll(Collection c) // 컬렉션을 통째로 뒤에 추가시켜주는 메소드
list.addAll(sub);
[Music [title=next level, artist=에스파], Music [title=쌔삥, artist=지아코],
Music [title=죽일놈, artist=다이나믹 듀오], 가보자고, Music [title=next level, artist=에스파], Music [title=쌔삥, artist=지아코]]
9. isEmpty() : boolean => 컬렉션이 비어있는지 묻는 메소드
System.out.println(list.isEmpty());'
결과값
: false, 배열이 비어있지 않기 때문
10. clear() : 리스트 안에 있는 내용을 싹 비워주는 메소드
list.clear();
System.out.println(list.isEmpty());
결과값 : true
반복문을 통해 순차적으로 출력
System.out.println("=====================================");
// 1) 단순한 for문
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
System.out.println("=====================================");
// 2) 향상된 for문
for(Object o : list) { // 가보자고가 있어서 Music이 아니고 모든 걸 담아둘 수 있는 Object
System.out.println(o);
}
'Java' 카테고리의 다른 글
자바 컬렉션 - list (0) | 2022.11.22 |
---|---|
자바 컬렉션 : ArrayList 제네릭 (0) | 2022.11.20 |
자바 예외 - UncheckedException (0) | 2022.11.18 |
자바 스트림 (0) | 2022.11.17 |
자바 API (0) | 2022.11.16 |