coco 프로젝트를 진행 중에, return null을 사용하지 말고, return Optional.empty()를 사용해보라는 피드백을 받았다.| Member.javaMember에 저장되어 있는 Posts에서 특정(postId) Post를 찾는 메소드이다.| Post
컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공다수의 데이터를 저장할 수 있는 클래스 (ArrayList, HashMap등등)순서가 있는 데이터 집합데이터 중복 허용 oex) 대기자 명단ArrayLi
기존의 Vector를 개선한 것Vector는 동기화되어 있고, ArrayList는 동기화 xList 인터페이스를 구현했기때문에, 저장순서가 유지되고 중복 허용 o데이터의 저장공간으로 배열을 사용삭제 시, 앞부터 삭제가 아니라, 뒤부터 삭제해야 함삭제가 제대로 되지 않는
구조가 간단하고 데이터를 읽는데 걸리는 시간이 짧다.크기를 변경할 수 없다크기를 변경하기 위해선 새로운 배열을 생성 후, 데이터를 복사하는 과정을 거쳐야 함더 큰 크기의 배열을 생성한다.기존 배열을 생성한 배열에 복사한다.기존 배열을 가리키던 변수의 참조를 변경한다.
LIFO 구조마지막에 저장된 것을 제일 먼저 꺼낸다배열로 구현하는 것이 효율적순차적으로 추가/삭제하는 것은 배열이 훨씬 유리수식계산, 뒤로/앞으로 기능 등등에서 활용Stack이 구현되어 있어서 new Stack();으로 사용하면 됨FIFO 구조제일 먼저 저장한 것을 제
컬렉션에 저장된 데이터에 접근하는데 사용되는 인터페이스컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것List든, Set이든 읽어오는 방법이 같다 hasNext(), next()등등Collection 인터페이스에 Iterator를 반환하는 iterator()가 정의
토큰은 크게 3가지로 나누어져 있다토큰타입과 암호화 알고리즘이 포함되어야 한다.Map<String, Object>토큰에 담을 내용이 포함되는 곳이다.데이터, 토큰 발급대상, 토큰 만료기간, 토큰 수령자등등Map<String, Object>서명을 하는 부분이다
배열을 다루는데 유용한 메소드들이 정의되어 있다copyOf(), copyOfRange()fill(), setAll()sort(), binarySearch()binarySearch()를 사용하기 전에는 반드시 Arrays.sort()로 정렬을 해야 한다.그래야 정상적으로
인터페이스 사용을 통해 독립적인 프로그래밍이 가능하다.클래스 간 직접적인 관계에서 인터페이스 사용을 통해 간접적인 관계로 전환할 수 있고,이로 인해 클래스 변경으로 인한 영향을 받지 않을 수 있다.클래스 A, B가 있다.A와 B는 직접적인 관계를 맺고 있다.A는 B를
문자열 관련 알고리즘 문제를 풀며, String과 Character 메소드를 활용하는 일이 꽤 있었다.잘 알고 정리해두어야 나중에 잊지 않고 떠올릴 수 있을 것 같다내가 사용했던 메소드들만 우선 정리매개변수로 넘어온 문자 기준으로 String을 String 배열로 변환
객체 정렬에 필요한 메소드(정렬기준 제공)를 정의한 인터페이스Comparable 인터페이스는 int compareTo(Object o) 메소드를 제공하고,Comparator 인터페이스는 int compare(Object o1, Object o2) 메소드를 제공한다.위
Set 인터페이스를 구현한 가장 대표적인 컬렉션Set 인터페이스를 구현했기 때문에, 순서를 유지하지 않고, 중복을 허용하지 않는다.일반 예시)로또번호를 추출하는 예시바로 List에 랜덤 수를 담았다면 중복이 있었을 수 있다.중복을 허용하지 않아야할 때, Set을 사용한
이진 트리 링크드 리스트 처럼 여러개의 노드가 서로 연결된 구조이며, 모든 노드가 최대 2개의 하위 노드를 갖는 트리 이진 트리의 노드 이진 탐색 트리 이진 트리의 한 종류 부모보다 작은 값은 왼쪽, 큰 값은 오른쪽에 저장하는 방식으로 동작 검색과 정렬에 유리 데이