자바 프로그래밍_ 컬렉션 프레임웍(collection framework)
본문 바로가기
기타 및 프로그래밍(Java)

자바 프로그래밍_ 컬렉션 프레임웍(collection framework)

by 환희의찬가 2022. 4. 20.
반응형

1.1 컬렉션 프레임웍(collection framework)이란? 

▶ 컬렉션 프레임웍(collection framework) 

- 데이터 군(群)을 저장하는 클래스들을 표준화한 설계 

- 다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성 

▶ 컬렉션 프레임웍(collection framework) 

- 다수의 데이터, 즉, 데이터 그룹을 의미한다. 

▶ 컬렉션(collection) 

- 표준화, 정형화된 체계적인 프로그래밍 방식 

▶ 프레임웍(framework) 

- 다수의 데이터를 저장할 수 있는 클래스(예, Vector, ArrayList, HashSet) 

▶ 컬렉션 클래스(collection class) 

- JDK1.2부터 제공 \

 

1.2 컬렉션 프레임웍의 핵심 인터페이스

 

1.3 컬렉션 프레임웍의 동기화(synchronization) 

- 멀티쓰레드 프로그래밍에서는 컬렉션 클래스에 동기화 처리가 필요하다. 

- Vector와 같은 구버젼 클래스들은 자체적으로 동기화처리가 되어 있다. 

- ArrayList와 같은 신버젼 클래스들은 별도의 동기화처리가 필요하다. 

- Collections클래스는 다음과 같은 동기화 처리 메서드를 제공한다.


#참고: 배열 선언

const arr1 = new Array(); const arr2 = [1, 2];
 

#참고: Looping over an array

//print all fruits
//a. for
for(let i = 0; i < fruits.length; i ++){
     console.log(fruits[i]);
}
//b. for of
for (let animal of animals){
     console.log(animal);
}
//c. forEach 
fruits.forEach(function(animal, index){
      console.log(animal, index);
})
fruits.forEach((animal, index) => console.log(animal, index));

1.4 Vector와 ArrayList 

- ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일 

- List인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다. 

- 데이터의 저장공간으로 배열을 사용한다.(배열기반) 

- Vector는 자체적으로 동기화처리가 되어 있으나 ArrayList는 그렇지 않다.

 

1.5 ArrayList의 단점 - 배열의 단점 

- 배열은 구조가 간단하고 데이터를 읽어오는 데 걸리는 시간(접근시간, access time)이 가장 빠르다는 장점이 있지만 단점도 있다. 

▶ 단점 1 : 크기를 변경할 수 없다. 

- 크기를 변경해야 하는 경우 새로운 배열을 생성하고 데이터를 복사해야 한다.(비용이 큰 작업) 

- 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리 낭비가 심해진다. 

▶ 단점 2 : 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. 

- 그러나, 순차적인 데이터 추가(마지막에 추가)와 순차적으로 데이터를 삭제하는 것(마지막에서부터 삭제)은 빠르다. 

반응형

댓글


TOP

Designed by 티스토리