loading

새소식

Framework/Springboot

[Springboot] 스프링부트 컬렉션 프레임워크(Collection Framework)

  • -
728x90
반응형

Java

 

▶ 컬렉션 프레임워크

 - 프로그램 구현에 필요한 자료구조를 구현해 놓은 라이브러리 

 - java.util 패키지에 구현되어 있음 

 - 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘 사용 가능 

 - 여러 인터페이스와 구현 클래스의 사용 방법을 이해해야 함

1. List 인터페이스
 (1) 객체를 순서에 따라 저장하고 관리한다.
 (2) 배열의 불편한 부분을 개선
   1) 배열 생성 후 크기 변경 불가
   2) 중간의 데이터를 삭제해도 요소가 존재하는 것으로 처리.
   3) 자주 사용되는 메서드
    - boolean add(E e) : Collection 에 객체를 추가함
    - void clear() : Collection 의 모든 객체를 제거함
    - Iterator<E> iterator : Collection 을 순환할 반복자(Iterator)를 반환함
    - boolean remove(Object o) : Collection 에 매개변수에 해당하는 인스턴스가 존재하면 제거함
    - int size() : Collection 에 있는 요소의 개수를 반환함


 (3) ArrayList, Vector
   1) 일반적으로 ArrayList 를 가장 자주 사용
   2) Multi thread 상태에서 동기화가 필요한 경우 Vector 를 사용
   ※ 동기화?

=> 두개 이상으로 병렬 처리(thread)로 하나의 자원(변수,메소드)에 접근하여 작업 할 때 데이터 오류가 발생하지 않도록 하는 기능


 (4) LinkedList
   1) 논리적으로 순차적인 자료구조가 구현된 클래스
   2) 다음 요소에 대한 참조값을 가지고 있음
   3) 요소의 추가, 삭제에 드는 비용이 배열보다 적음

2. Map 인터페이스
 (1) key - value 쌍으로 이루어짐
 (2) key는 중복이 될 수 없음
 (3) 순서 X
 (4) 검색을 위한 자료 구조임
 (5) Map 내의 모든 요소를 확인하기 위해서는 key의 집합을 만든 후 출력

 

☆ 리스트 선언시 대부분

ArrayList list = new ArrayList(); 가 아닌

List list = newArrayList(); 로 사용

ex)  Vector v = new Vector(); , Stack s = new Stack();

다만 Calendar cal 은

Calendar cal = Calendar.getInstance(); 로 사용(패턴)

 

☆ 코드 편집기에 코드 작성 => 주황색 불이 들어올경우 '제네릭'을 사용해야함

 

728x90
반응형
Contents

📝 포스팅 주소를 복사했습니다 📝

이 글이 도움이 되었다면 공감 부탁드립니다👍