8. 컬렉션 - (1) 컬렉션(Collection) 개념과 List, Set

한승록·2023년 5월 3일
0

자바 기초

목록 보기
17/21
post-thumbnail

1) 컬렉션(Collection)

컬렉션은 기존의 자료구조에서 원시적인 인덱스 기반 배열 관리를 탈피하고자 java.util 패키지에 관련 인터페이스클래스들을 포함시켜놓은것을 의미합니다
목적은 기존의 자료구조의 목적과 동일하게 객체를 수집해서 저장하는 역할을 수행하게 됩니다.
		import java.util.List;



		public class Velog {
			public static void main(String[] args) {
		
				List<String> list = new ArrayList<String>();
		
				list.add("ArrayList입니다");
		
				System.out.println(list.get(0));
		
			}
		}

<※ 결과는 다음과 같습니다.>

2) List와 Set

ArrayListList 인터페이스를 구현한 클래스입니다.
역할은 배열의 역할을 수행하게 되지만 배열과 가장 큰 차이점은 선언 시 배열과 같이 크기를 지정하거나 요소를 삽입할 필요가 없다는 점입니다.
따라서 요소가 추가되고 삭제됨에 따라 자동으로 크기가 변환되고 인덱스가 다른 인덱스가 해당 자리를 차지하기 때문에 메모리 누수를 방지함에 있어서 효율적인 측면을 보여줍니다.

(그렇다고 해서 크기를 정할수 없는것은 아닙니다. 소괄호 속에 크기를 매개변수로 전달하게되면 해당 수만큼의 크기로 고정됩니다.)



SetArrayList와는 다르게 순서를 유지하지 않고 주머니에 물건을 집어넣는 표현이 어울리는 방식으로 처리됩니다.
이러한 특성으로 인하여 set에서는 중복된 값을 허용하지 않습니다.

SetHashSet으로 구현 되어집니다.
		Set<String> hs = new HashSet<String>();
		
		
		hs.add("Hashset은");
		hs.add("Set 인터페이스의");
		hs.add("구현 클래스입니다");
		
		for (String str : hs) {
			System.out.println(str);
		}
		
        // 인덱스로 통제 불가
		for (int i = 0; i < hs.size(); i++) {
			System.out.println(hs.get(i));
		}

<※ 결과는 다음과 같습니다.>

profile
개발 학습

0개의 댓글