
Stream은 java 8부터 추가된 기능으로 컬렉션에 저장된 데이터를 함수형 스타일로 처리할 수 있게 해준다. 여러 가지 자료구조(List, Map, Set)를 제공하며 각각의 특성과 사용법을 이해하고 성능과 사용 목적에 맞게 사용하는 것이 중요하다 (ex. 데이터의

해시는 해시 함수를 사용해서 변환한 값을 인덱스로 삼아 키와 값을 저장해서 빠른 데이터 탐색을 제공하는 자료구조이다. 키와 데이터가 일대일 대응하므로 키를 통해 데이터에 바로 접근할 수 있다. 특정 데이터를 탐색하는 횟수가 많을 경우 해시를 고려하면 좋다! ex. 연락

LIFO(Last In, First Out) 구조 ⇒ “나중에 들어온 게 먼저 나간다!”쉽게 말해서 티슈 구조. 티슈를 만들 때는 먼저 넣은 티슈가 가장 아래, 사용할 때는 맨 위에 있는 티슈부터 사용하잖아!FILO(Fast In, Last Out), 선입후출ex.웹

그래프: 여러 개체들이 연결되어 있는 자료구조탐색: 특정 개체를 찾기 위한 알고리즘대표 유형: 경로 탐색, 네트워크, 조합 만들기DFS, BFS는 둘 다 탐색 알고리즘이라서 둘 중 어느 것을 써도 답은 나온다!개념: 최대한 깊이 내려가 탐색하고, 더 이상 갈 곳이 없을

mutable(가변) 객체내부 버퍼를 사용하여 문자열을 효율적으로 수정 가능🔹 String과의 차이점String은 immutable(불변) 객체문자열을 변경하면 새로운 문자열 객체가 생성됨.반복문에서 문자열을 누적하거나 결합할 때→ String 대신 StringBui

int -> String String -> int

ArrayList와 LinkedList는 둘 다 List 인터페이스를 구현하지만, 내부 구조와 성능 특성이 다르다. 내부 구조 ArrayList 내부적으로 배열(Object[])을 사용. 인덱스를 통한 접근이 빠름 (랜덤 액세스 가능). 크기가 가득 차면