Collection 5

[Spring] 3. DI Annotation

예제 디렉토리 구조 및 공통 클래스@Getter@Setter@ToString@AllArgsConstructorpublic class BookDTO { private int sequence; //도서번호 private int isbn; //isbn private String title; //제목 private String author; //저자 private String publisher; //출판사 private Date createdDate; //출판일}public interface BookDAO { /* 도서 목록 전체 조회 */ List selectBookList(); /* 도서 번호로 도서 조회 */ BookDTO selectOneBook(in..

[Java] 13. Collection (3) Stack & Queue

Stack: List 계열 클래스인 Vector 클래스를 상속받아 구현된 자료구조- LIFO(Last In First Out) 구조로 되어 있다. 1. Stack 선언하기/* Stack 인스턴스 생성 */Stack integerStack = new Stack(); 2. 값 삽입하기// push()integerStack.push(1);integerStack.push(2);integerStack.push(3);integerStack.push(4);integerStack.push(5);// Vector 클래스를 상속받았기 때문에 add()도 사용 가능하지만 push()를 사용하는 것이 좋다.System.out.println(integerStack); // [1, 2, 3, 4, 5] 3. 요소 찾기// se..

Java 2024.08.23

[Java] 13. Collection (2) List - LinkedList

LinkedList1. LinkedList의 특징- 연속된 공간에 저장되는 것이 아니므로 각 데이터를 Link을 연결하여 구성한다.- 데이터의 삽입, 삭제가 빈번할 경우 연결되는 링크 정보만 수정하면 되기 때문에 ArrayList보다 더 적합하다.- 스택, 큐, 양방향 큐 등을 구성하기 용이하다. 2. LinkedList의 종류(1) 단일 연결 리스트: 저장한 요소가 순서를 유지하지 않고 저장되지만 요소들 사이를 link로 연결하여 마치 연결된 리스트 형태처럼 만든 자료구조(2) 이중 연결 리스트: 단일 연결 리스트는 다음 요소만 연결하지만, 이중 연결 리스트는 이전 요소도 링크하여 이전 요소로 접근하기 쉬운 자료구조 3. LinkedList의 활용(1) LinkedList 선언하기/* LinkedLis..

Java 2024.08.22

[Java] 13. Collection (1) List - ArrayList

List1. List 인터페이스: 순서가 있는 데이터의 집합으로, 같은 데이터의 중복 저장을 허용한다.- ArrayList, LinkedList, Vector, StackArrayList- 크기 변경이 불가능한 배열의 단점을 보완. 기본 배열보다 느릴 수는 있지만 동적 배열이 구현돼 있다.- ArrayList 인스턴스를 생성하게 되면 내부적으로 10칸짜리 배열을 생성해서 관리한다.- 크기 변경, 요소 추가/삭제/정렬 기능들을 메소드로 제공한다.- ArrayList는 스레드 간 동기화가 지원되지 않기 때문에, 다수의 스레드가 동시에 접근하여 데이터를 조작하게 될 경우 데이터 훼손이 일어날 수 있다.- cf. 모든 컬렉션 프레임워크는 제네릭 클래스로 작성 되어 있다. List stringList = new ..

Java 2024.08.22

[Java] 13. Collection

Collection: 많은 데이터들을 효과적으로 처리할 수 있는 방법을 제공하는 클래스들의 집합 1. Collection을 사용하는 이유(1) 일관된 API- Collection에서 제공하는 규격화된 메소드를 사용함으로써 일관된 사용과 유지보수 가능(2) 프로그래밍 비용 감소- 이미 제공된 자료구조를 활용하기 때문에, low-level의 알고리즘을 고민할 시간과 노력을 아낄 수 있다.(3) 프로그래밍 속도 및 품질 향상 2. Collection 주요 인터페이스- Collection 인터페이스는 List, Set, Queue로 크게 3가지 상위 인터페이스로 분류된다.- 이 세가지는 Collection 인터페이스를 상속 받지만, 구조 상의 이유로 Map은 따로 구현되어 있다.인터페이스설명구현 클래스List순..

Java 2024.08.22