분류 전체보기
-
[자바(JAVA)] Stack & Queue의 구조와 특징자바의 정석 2023. 7. 20. 21:04
🔷 Stack (밑이 막힌 상자) - LIFO구조로 마지막에 저장된 것을 제일 먼저 꺼내게 된다. Stack & Queue는 컴퓨터 프로그래밍에서 가장 많이 사용되는 기본적인 구조이다. 입력: 0 -> 1 -> 2 출력: 2 -> 1 -> 0 Stack은 가장 마지막부터 꺼내기 때문에 배열이 효율적이다. 🔷 Queue(양 끝이 뚫린 상자) - FIFO 구조로 제일 먼저 저장한것을 제일 먼저 꺼낸다. 입력: 0 -> 1-> 2 출력: 0 -> 1-> 2 Queue는 LinkedList로 구현하는게 더 적합하다. remove()와 poll()은 예외발생 유무에서 차이가 있다. remove() -> try-catch로 처리 poll() -> ==null 여부로 확인 나머지도 동일한 차이임 Queue는 인터페이..
-
[자바(JAVA)] 배열과 LinkedList의 장단점,이중 연결 리스트, ArrayList vs LinkedList 성능 비교카테고리 없음 2023. 7. 20. 12:53
🔷배열의 장단점 👉장점: 데이터를 읽는데 걸리는 시간(접근시간, access time)이 짧다. - n번째의 주소를 알아낼 수 있다. 👉 단점1: 크기를 변경할 수 없다. - 크기를 변경해야 하는 경우 ① 더 큰 배열을 생성한 후 ② 데이터를 복사해야한다. - 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면 메모리가 낭비된다. 👉 단점2: 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. - 데이터를 추가하거나 삭제하기 위해 다른 데이터를 옮겨야 함 - 그러나 순차적인 데이처 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다. *비순차적인 데이터: 배열의 중간에 있는 데이터 🌟배열의 단점을 보완한게 LinkedList이다. 1. 크기변경 불가 2. 추가,삭제시 시간소요 큼 🔷LinkedList 배..
-
[자바(JAVA)] ArrayList의 삭제과정, ArrayList전체삭제 방법자바의 정석 2023. 7. 20. 05:34
🔷 ArrayList에 저장된 세 번째 데이터(data[2])를 삭제하는 과정 * 인덱스가 2인 객체를 삭제하길 원함 1. 삭제할 데이터기준으로 아래 데이터들이 한 칸씩 위로 복사되어 삭제할 데이터를 덮어쓴다. 2. 마지막 데이터는 그대로 남아있기 때문에 null로 변경한다. 3. 데이터의 사이즈를 줄인다 *삽입할 경우에는 반대로 진행된다. 마지막 데이터만 삭제하는 경우에는 2번과정이 진행되지 않음 되도록 2번은 진행되지 않게끔 설계해야됨 🔷 ArrayList에 저장된 첫 번째 데이터(data[2])부터 삭제하는 과정(배열 복사 발생) List.length = 5 0~4번 인덱스까지 순차적으로 삭제를 원했음 0번 인덱스(값:0)을 삭제하니 한칸씩 앞으로 땡겨짐 값1을 삭제하려 인덱스 1을 삭제했으나 현재..
-
[자바(JAVA)] ArrayList의 정의와 메서드정리자바의 정석 2023. 7. 20. 05:28
🔷 ArrayList란? ArrayList는 기존의 Vector를 개선한 것으로 구현원이롸 기능적으로 동일하다. 차이점은 동기화처리(13장 쓰레드에서 확인) 데이터의 저장공간으로 배열을 사용한다. ArrayList=배열기반임 🔷 ArrayList의 메서드 add(int index, Object element) : index위치에 element를 넣어준다 int indexOf(Object o) : o가 위치한 index를 반환하는데 없을 경우 (-1)을 반환한다. List subList(int fromIndex, int toIndex) : int fromIndex이상 int toIndex미만의 값으로 재생성 ✅ 실습예제 add를 할 때 문자열 "1"과 숫자 1 모두 출력상 값은 동일한점 주의하기! 따라서,..
-
[TIL] (230719) ArrayList에서 집함함수 사용이 가능한 이유( addAll, retainAll, removeAll)TIL 2023. 7. 20. 04:28
https://imcodiiing.tistory.com/280 [자바(JAVA)] 컬렉션 프레임웍 /List, Set, Map의 정의와 사용메서드 정리 컬렉션 프레임웍(collections framework) 컬렉션: 여러 객체(데이터)를 모아둔 것 프레임웍: 표준화, 정형화된 프로그래밍 방식 - 프레임웍은 자유도가 떨어진다고 볼 수도 있지만 생산성이 올라가고 imcodiiing.tistory.com 자바 컬렉션 중 List, Set, Map에 대해서 간단한 정의를 내리고 연습문제를 풀어보았다(*자바의 정석 기준) ArrayList로 주어진 두 개의 객체의 합집합, 차집합, 교집합을 구하는 것이었는데 List와 Set 두 가지 형식으로 풀어보았다. 🔸문제점 집합함수는 Set의 정의를 배울 때 나왔었다. ..
-
[자바(JAVA)] 컬렉션 프레임웍 /List, Set, HashSet, TreeSet, Map의 정의와 사용메서드 정리자바의 정석 2023. 7. 19. 04:16
컬렉션 프레임웍(collections framework) 컬렉션: 여러 객체(데이터)를 모아둔 것 프레임웍: 표준화, 정형화된 프로그래밍 방식 - 프레임웍은 자유도가 떨어진다고 볼 수도 있지만 생산성이 올라가고 유지보수가 더 쉬워진다는 장점이 있음 컬렉션 프레임웍 - 여러 객체를 정해진대로 프로그래밍 하는것 - 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공한다. - java.util패키지에 포함되어 있고 JDK1.2부터 제공되었음 🔷 컬렉션 프레임웍의 핵심 인터페이스 - 크게 3가지로 나눌 수 있다. - 세가지의 특성을 반드시 알고있자! 1) List - 순서가 있는 데이터의 집합, 데이터 중복을 허용한다. 구현클래스: Arra..
-
[TIL] (230712) [ERROR] TemplateInputException: Error resolving template 해결하기TIL 2023. 7. 12. 06:43
이전에 구현했던 Lv2 게시판 CRUD에서 댓글기능을 추가해 보았다. 댓글은 각 게시글에 연결되어야 한다. 따라서 Reply과 Board Entity를 N:1로 설정하고 Reply의 Controller, Service, Repository를 구현해 봤다. 🔸문제점 // 댓글 생성 @PostMapping("/{id}") public ReplyResponseDto addReply(@PathVariable Long id, @RequestBody ReplyRequestDto requestDto) { requestDto.setBoardTd(id); return replyService.addReply(requestDto); } 2023-07-12T06:17:36.356+09:00 ERROR 22452 --- [ni..
-
[HTTP] HTTP 메서드의 종류(GET, POST, PUT, PATCH, DELETE)와 속성HTTP 2023. 7. 10. 04:48
🔷 HTTP 설계해보기 요구사항 회원 정보 관리 API를 만들어라. • 회원 목록 조회 • 회원 조회 • 회원 등록 • 회원 수정 • 회원 삭제 👇👇 API URI 설계 URI(Uniform Resource Identifier) • 회원 목록 조회 /read-member-list • 회원 조회 /read-member-by-id • 회원 등록 /create-member • 회원 수정 /update-member • 회원 삭제 /delete-member 각 기능을 알 수 있도록 URI에 이런식으로 만든다면 과연 좋은 설계일까? ❌설계시 가장 중요한건 리소스 식별이다❌ 🔻 API URI 고민 • 리소스의 의미는 뭘까? - 회원을 등록하고 수정하고 조회하는게 리소스가 아니다! - 예) 미네랄을 캐라 -> 미네랄이..