자바

[자바]배열 Collection

취준생코린이 2021. 4. 20. 13:55
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