복습
- String 내림차순 정렬하기
Arrays.sort(data, (o1, o2) -> o2.compareTo(o1));
> gitignore
Collection
iterable(interface): 반복 가능
- Colleciton: 배열을 대신할 수 있는 저장소
- List
java에서 제일 많이 쓰이는 collection, data가 들어온 순서 반영해서 저장
- Queue: 프로그램 내부적으로 쓰이는 경우가 많음
- Set
data를 내부 기준대로 정렬하면서 저장
- 알고리즘, 자료구조
List
- An ordered collection (also known as a sequence(선형구조, 시작과 끝))
- ArrayList vs LinkedList
- ArrayList는 data의 수가 많고, 자주 바뀌는 구조(Create, Delete)에선 불리하고, data 접근이 많은 곳에선 유리하다.
> Method
.add(?int index, E element)
.get(int index)
.set(int index, Object o)
.size()
.remove(int index)|(Object o)
.sort(?Comparator c)
.contains(Object o)
if and only if Objects.equals(o, e) is true
.indexOf(Object o)
> ArrayList
> LinkedList
+ 배열로 List 생성하기
List<Integer> lists = Arrays.asList(10, 20, 30, 40, 50);
List<Integer> list = List.of(10, 20, 30, 40, 50);
Collections
> Method
Collections.reverse(Collection c)
Collections.shuffle(Collection c)
+ diagramio
Set
- data 중복 X
- data가 tree 형태로 저장되어 data 탐색 속도가 빠름
> TreeSet
> HashSet
> 집합 연산
Set<String> union = new TreeSet<>();
union.addAll(galaxy);
union.addAll(iphone);
Set<String> intersect = new TreeSet<>(galaxy);
intersect.retainAll(iphone);
- Relative Complement(-, 차집합)
Set<String> minus = new TreeSet<>(galaxy);
minus.removeAll(iphone);
Stack & Queue
> Stack
- LIFO(Last-In-First-Out) 형태의 저장소
- 인터넷 뒤로가기, 앞으로 가기
- undo(control + z)
method
> Queue
- FIFO(First-In-First-Out) 형태의 저장소 (대기열, 입출력)
- 우선 순위 queue
method