728x90
○ Collection
- 요소라고 불리는 가변 개수의 객체들의 집합
1. 객체들의 컨테이너라고도 불림
2. 요소의 개수에 따라 자동 크기 조절
3. 요소의 추가, 삭제에 따른 요소의 이동 자동 관리
- 여러 개의 객체를 보관할 수 있게 만들어진 클래스들의 집합
- 고정 크기의 배열을 다루는 불편함 해소
○ Collection의 특징
- 제네릭(Generic)이라는 기법으로 구현
class Person<T>{
public T name;
}
person<String>person = new Person<String>;
- 컬렉션의 요소는 객체들만 저장가능
기본 자료형의 데이터는 요소로 불가능.
기본 타입의 값을 추가한 경우 자동박싱에 의해 Wrapper 클래스로 변환되어 객체 형태로 저장.
○ Collection의 종류
○ ArrayList
- 가장 보편적으로 많이 사용하는 컬렉션 클래스로 객체를 저장
- 크기가 고정이 아닌 가변의 길이
- 원하는 위치의 투가나 삭제가 쉽다.
ArrayList<배열타입> 변수명 = new ArrayList<배열타입>();ㅇ으로 생성한다.
import java.util.ArrayList;
public class Ex10arrayList {
public static void main(String[] args) {
// arrayList : 자바배열의 한계를 극복하는 방법
// 자바배열의 사이즈가 고정되어있다. 3칸짜리에는 데이터 3개만 넣을수있는 한계
// arrayList : 데이터를 넣을때마다 공간을 자동으로 할당 >> python List 개념유사
// 1. 생성하기
String[] arr = new String[3];
ArrayList<String> arr2 = new ArrayList<String>();
ArrayList<Integer> arr3 = new ArrayList<Integer>();
// 1. arrayList 맨뒤에 데이터 넣기
arr = new String[] {"가", "나", "다"};
arr2.add("가");
arr2.add("나");
arr2.add("다");
arr3.add(1);
// 2. arrayList속 데이터를 가지고 올때는 .get(index)기능 활용
System.out.println(arr[0]);
System.out.println(arr2.get(0) + arr2.get(1) + arr2.get(2));
System.out.println(arr3);
System.out.println(arr3.get(0));
// 3. 정체 데이터 출력
// 4. 배열의 길이를 구해올때는 lenth가 아니고 size();사용
for(int i = 0; i<arr2.size(); i++) {
System.out.println(arr2.get(i) + "\t");
}
System.out.println("=================");
// 5. 원하는 위치 데이터 넣기
arr2.add(0, "차준섭");
for(int i = 0; i<arr2.size(); i++) {
System.out.println(arr2.get(i) + "\t");
}
System.out.println("=================");
// 6. 원하는 위치 데이터 삭제
arr2.remove(0);
for(int i = 0; i<arr2.size(); i++) {
System.out.println(arr2.get(i) + "\t");
}
System.out.println("=================");
// 7. 전체 데이터 삭제
arr2.removeAll(arr2);
for(int i = 0; i<arr2.size(); i++) {
System.out.println(arr2.get(i) + "\t");
}
}
}
728x90
'자바' 카테고리의 다른 글
[자바]객체 실습 - 포켓몬 (0) | 2021.04.22 |
---|---|
[자바]객체 정의 (붕어빵) (0) | 2021.04.22 |
[자바]메소드(Method)란? (0) | 2021.04.16 |
[자바]2차원 배열 (0) | 2021.04.16 |
[자바]for-each문이란 (0) | 2021.04.16 |