[Java] 컬렉션(Collection) List, Map

1

Java

목록 보기
2/2
post-thumbnail

컬렉션이란

Java Collection Framework는 일반적으로 재사용 가능한 컬렉션 데이터 구조를 구현하는 클래스 및 인터페이스 세트이다.

쉽게 말해 기본적으로 배열이 적용된 구조이며, 여러개의 요소들을 저장할 수 있다.

Java Collection Framework는 크게 Set, Map, List 3가지로 나눌 수 있다.
하지만 오늘은 Map과 List 2가지만 소개하도록 하겠다.

List

  • 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다.
  • List에 지원되는 여러 함수(add, get, set, remove, clear, isEmpty)들을 사용할 수 있다.
package collection;

import java.util.ArrayList;

public class List {

	public static void main(String[] args) {
		
		// ArrayList 객체 생성
		ArrayList<String> list = new ArrayList<String>();
		System.out.println("현재 list 크기 : " + list.size() + "\n");
		
		// 데이터 추가
		list.add("Collection");
		list.add("List");
		list.add(1, "middle"); // 1번 째 인덱스에 문자열 삽입 
		System.out.println("현재 list : " + list + "\n");
		
		// 데이터 추출
		String str = list.get(0); // 0번 째 인덱스 문자열 추출
		System.out.println(str + "\n");
		
		// 데이터 변경
		list.set(0, "Collections"); // 0번 째 인덱스 문자열 변경
		System.out.println("현재 list : " + list + "\n");

		// 데이터 삭제
		list.remove(0); // 0번 째 인덱스 문자열 삭제
		System.out.println("현재 list : " + list + "\n");
		
		list.clear(); // 모든 데이터 삭제 
		System.out.println("현제 list" + list + "\n");
		
		// 데이터 유무
		boolean b = list.isEmpty();
		System.out.println("list.isEmpty ? : " + b);
	}

}

실행 결과

현재 list 크기 : 0

현재 list : [Collection, middle, List]

Collection

현재 list : [Collections, middle, List]

현재 list : [middle, List]

현제 list[]

list.isEmpty ? : true

List의 가장 큰 특징은 순서가 있다는 점이다.
이말은 즉슨 객체를 저장하는 것이 아닌, 객체의 주소를 참조한다는 것을 의미한다.

Map

  • 키(Key)와 값(Value)로 이루어진 데이터의 집합

  • 키(Key) 중복 안됨, 값(Value) 중복 허용

  • Map에 지원되는 여러 함수(put, get, remove, clear, isEmpty)등을 사용할 수 있다.

package collection;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		
		// Map은 key를 사용하여 데이터를 관리함
        // HashMap<key, value>
		HashMap<Integer, String> map = new HashMap<Integer, String>();
		System.out.println("현재 map 크기 : " + map.size() + "\n");
		
		// 데이터 추가
		map.put(0, "Collection");
		map.put(1, "Framework");
		map.put(2, "Map");
		System.out.println("현재 map : " + map + "\n");
		
		// 데이터 추출
		String str = map.get(0);
		System.out.println(str + "\n");
		
		// 데이터 변경
		map.put(0, "Collections");
		System.out.println("현재 map : " + map + "\n");
		
		// 데이터 삭제
		map.remove(1);
		System.out.println("현재 map : " + map + "\n");

		map.clear(); // 모든 데이터 삭제
		System.out.println("현재 map : " + map + "\n");
		
		// 데이터 유무
		boolean b = map.isEmpty();
		System.out.println("list is Empty ? : " + b);
	}

}

실행 결과

현재 map 크기 : 0

현재 map : {0=Collection, 1=Framework, 2=Map}

Collection

현재 map : {0=Collections, 1=Framework, 2=Map}

현재 map : {0=Collections, 2=Map}

현재 map : {}

list is Empty ? : true

0개의 댓글