본문 바로가기
Spring

[6] 자바 중급 문법 - List

by 민지기il 2025. 3. 28.

1) List: 순서가 있고 중복을 허용하는 자료구조

데이터를 앞에서 추가하거나 삭제할 때 빅오: ArrayList: O(n), LinkedList: O(1)

컴파일 타임 vs 런타임 의존관계

의존관계: 어떤 클래스가 다른 클래스를 사용하고 있다는 관계

컴파일 타임 의존관계: 코드 작성 시점에 나타나는 관계로 자바 컴파일러가 보는 의존관계

인터페이스 MyList를 쓴 것 -> 유연한 설계가 가능함 (OCP 원칙)

전략패턴: 실행 시점에 알고리즘(혹은 구현체)을 바꿀 수 있게 하는 디자인 패턴

컴파일 타임엔 인터페이스(MyList)만 보고, 런타임엔 실제 구현체(MyArrayList or MyLinkedList)를 주입해서 동작함

List: 순서가 중요한 이벤트 목록

Set: 회원 ID 집합, 고유한 항목의 집합

2) Collection

: 인터페이스로 List, Set, Queue와 같은 다양한 하위 인터페이스와 함께 사용된다.

 

스프링 프로젝트를 하다보면 자바 문법의 한계를 느껴서 강의록으로 공부한 내용들이다.

아무래도 코테는 C++로 준비하고 있다보니 자바 자료구조는 이정도까지 하고 프로젝트에 필요한 문법들을 중점으로 앞으로 공부해보려고 한다.