멀티캠퍼스/Spring

20230811 (금)

세크레투스 2023. 8. 12. 13:32
반응형
SMALL

<컬렉션 프레임워크>

1. 컬렉션 프레임워크의 주요 인터페이스

- List : 중복 허용, 자바스크립트의 Array와 동일한 역할, 순서가 의미를 가지냐, index로 관리

- Set : 

- Map : key, value로 관리, DB역할,  자바스크립트의 Object

 

<List 컬렉션>

1. List 컬렉션

- 특징

* 인덱스로 관리 (순서가 있다.)

* 중복해서 객체 저장 가능

- 구현 클래스

* ArrayList

* Vector

* LinkedList

** 여러개의 참조 변수들로 구성됨.

- Primitive 타입을 못넣음. 참조(Reference) 타입만 가능.

- CRUD 메카니즘

2. List 컬렉션의 주요 메소드

- E remove(int index) : 삭제된 내용을 리턴해달라.

- list.add() //맨 끝에 객체 추가

- list.get(list.size() -1) //인덱스로 객체 찾기 (마지막 인덱스 찾기)

- list.remove() //인덱스로 객체 삭제

==> 스택 LIFO(Last In First Out)

 

- list.add(0);

- list.remove(0);

Queue - FIFO(First In First Out) : 도착순서를 지켜준다.

 

3. List 컬렉션의 순회(iterate)

=================== 여기까지가 인터페이스를 구현하는 방법 ==============================

 

4. ArrayList

- 저장 용량(capacity)

* 초기 용량 : 10 (따로 지정 가능)

* 저장 용량을 초과한 객체들이 들어오면 자동적으로 늘어남. 고정도 가능.

* List<String> list = new ArrayList<String>();

- new ArrayList<String>(); 만 확정이고 나머지는 List랑 구현방법 다 같음.

- println(List) : 배열은 보여주지 않는, 안의 리스트들을 다 보여줌.

 

- 배열 식 데이터 넣기

String[] arr={~~, ~~, ~~, ~~};

 

- List 식 데이터 넣기

list.add("Java");
list.add("JDBC");
list.add("Servlet/JSP");
list.add(2, "Database");
list.add("iBATIS");

5. LinkedList

List<E> list = new LinkedList<E>();

- 특징

* 인접 참조를 링크해서 체인처럼 관리

* 특정 인덱스에서 객체를 제거하거나 추가하게 되면 바로 앞뒤 링크만 변경

* 빈번한 객체 삭제삽입이 일어나는 곳에서는 ArrayList보다 좋은 성능

class Node <T> {
	T t; //T : 나랑 같은 녀석에 대한 참조..
    Node prev;  //prev 내 앞에 있는 사람.
    Node next; //next 내 뒤에 있는 사람
}

ArrayList와 LinkedList 둘 중 어느것을 써도 상관없지만, 둘의 차이는 알고 있어야 함.

 

<List 컬렉션>

 

<Lombok 어노테이션>

- 복합 처리

* @Data

** @ToString...

 

<DAO>

1. DAO : Data Access Object

 

메서드 기능을 못외웠다.

해당 클래스의 메서드를 기억해야 함.

 

테스트 되지 않은 클래스는 사용하지 마라 라는 말이 있음.

그래서 반드시 테스트를 해주는 것이 좋음.

 

테스트를 사용하면 좋은 점 : 해당 클래스를 사용하는데에 대한 예제가 됨.

 

좋아..!

 

 

반응형
LIST