유가엘
개발일지
유가엘
전체 방문자
오늘
어제
  • 분류 전체보기 (107)
    • Solution (16)
      • EAI (11)
      • Concept (1)
      • webMethods (4)
    • Language (20)
      • Java (20)
    • DataBase (19)
      • Oracle (18)
    • Web Programming (38)
      • JSP (11)
      • Spring (10)
      • Project (17)
    • 협업도구 (8)
      • Git (8)
    • IT (6)
      • ETC (4)
      • 정보처리기사 (1)
      • Android (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

티스토리

hELLO · Designed By 정상우.
유가엘

개발일지

Language/Java

18. Java Collections

2020. 3. 8. 01:49

lesson19_Collection.zip
0.01MB

Collections 이란?

기존의 배열 [ ] 는 처음 생성 시, 크기를 알아야 하며, 조절을 할 수 없다는 큰 단점을 가지고 있습니다.

반면 Collection은 여러개의 데이터를 크기와 상관없이 담을 수 있으며 좀 더 유연하게 사용하기 위해 나오게 되었습니다.

 

Collection 계열 클래스 명 특징
List ArrayList, Vector .. 인덱스를 통해 관리되며, 데이터 중복이 가능 합니다.
Set HashSet .. 순서에 상관없이 저장되며, 데이터 중복이 불가 합니다.
Map HashMap, HashTable .. 순서에 상관없이 저장되며, 키 와 값 으로 구성 되어있습니다.


Collection 의 구현

 

List 계열

인덱스를 통해 관리되며, 데이터 중복이 가능 합니다.

package lesson19_Collection;

import java.util.ArrayList;

public class Main_arrayList {
	public static void main(String[] args) {
		// <> : Generic, 자료형을 제한합니다 객체만 사용할 수 있습니다.
		ArrayList<String> arrayList = new ArrayList<>();
		arrayList.add("Hello");				//0 번 인덱스에 값을 넣습니다.
		arrayList.add("Java");				//1 번 인덱스에 값을 넣습니다.
		arrayList.add("World");				//2 번 인덱스에 값을 넣습니다.
		arrayList.add(1, "안녕하세요");		//1 번 인덱스에 값을 추가합니다. [ 기존 1,2 번이 -> 2,3번으로 밀립니다]
		arrayList.set(2, "잘 부탁드립니다.");	//2 번 인덱스 값을 변경합니다. [2번이된 Java가 잘 부탁드립니다로 변경]
		arrayList.remove(0);

		for (String str1 : arrayList) {
			System.out.println(str1);
		}
		

	}
}

Set 계열

순서에 상관없이 저장되며, 데이터 중복이 불가 합니다.

package lesson19_Collection;

import java.util.HashSet;

public class Main_hashSet {
	public static void main(String[] args) {
		HashSet<String> hashset = new HashSet<>();
		hashset.add("A");
		hashset.add("D");
		hashset.add("C");
		hashset.add("B");
		hashset.add("F");
		hashset.add("E");
		hashset.add("F");
		System.out.println("HashSet 크기\t"+hashset.size()); // 7개를 넣었지만 1건 중복되어 제거됩니다.
		
		for (String string : hashset) {
			System.out.println(string);
		}
	}
}

Map계열

인터페이스로 구현한 클래스는 키를 이용해서 데이터를 관리합니다. - 키값은 중복되지 않습니다.

package lesson19_Collection;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

public class Main_hashMap {
	public static void main(String[] args) {
		HashMap<String, Integer> hashmap = new HashMap<>();
		hashmap.put("나트륨", 150);
		hashmap.put("탄수화물", 8);
		hashmap.put("지방", 6);
		
		System.out.println(hashmap.get("나트륨"));

		
		// Map에서 키만 추출 => Set
		Set<String> keys = hashmap.keySet();
		ArrayList<String> keys2 = new ArrayList<>(keys);
		for (String string : keys2) {
			System.out.print(string + " ");
			System.out.println(hashmap.get(string));
		}
		
	}
}
저작자표시 비영리 변경금지 (새창열림)

'Language > Java' 카테고리의 다른 글

19. Java 입력과출력  (0) 2020.03.08
16. Java 예외처리  (0) 2020.03.08
17. Java 문자열 및 유용한클래스  (0) 2020.03.08
15. Java 추상클래스  (0) 2020.03.08
14. Java 인터페이스와 다형성  (0) 2020.03.08
    'Language/Java' 카테고리의 다른 글
    • 19. Java 입력과출력
    • 16. Java 예외처리
    • 17. Java 문자열 및 유용한클래스
    • 15. Java 추상클래스
    유가엘
    유가엘

    티스토리툴바