-
Optional
8버전부터 생긴 클래스로 Null 값을 허용하는 Wrapper클래스 NullPointerException을 회피할 수 있음 Optional 객체 생성 Optional opt = Optional.empty() // 빈객체 Optional opt2 = Optional.of("Optional 객체") // value가 null이 아닌 객체 Optional opt3 = Optional.ofNullable("Optional 객체") // value가 null이거나 아닌 객체 → of()의 경우 value에 null이 오면 Exception발생 Optional 객체 접근 isPresent() :...
-
자료형
1. 리스트 - [ ], list() ≒ 배열(List) 일반적인 배열, 다양한 자료형가능 (1) 생성 v_list1 = [1, 2, 3, 'A'] v_list2 = list(1, 2, 3) (2) 메서드 array = [1, 4, 3] array.append(2) print(array) [1, 4, 3, 2] array.insert(2, 5) print(array) [1, 4, 5, 3, 2] array.remove(4) print(array) [1, 5, 3, 2] array.sort(reverse = True) print(array) [5, 3, 2, 1] array.reverse() ...
-
[JPA] ORM과 Hibernate 구현체
ORM Object Relational Mapping 객체와 관계형 데이터베이스의 테이블을 맵핑하여 데이터를 객체화 하는 것 장점 객체 지향적인 코드로 인해 더 직관적이고 비즈니스로직에 집중할 수 있다 재사용성 및 유지보수가 용이하다 (반복적인 SQL을 작성할 필요가 없다) DBMS의 종속성이 줄어든다 Hibernate JPA는 자바 ORM 대한 표준 명세 인터페이스이다. 그리고 JPA를 구현한 ORM 프레임워크에는 여러가지가 있다. JPA 구현체중에 hibernate가 가장 일반적이다. Dialect(방언) ORM은 객체...
-
해시 테이블
해시 테이블 : 키(Key) + 값(Value) 으로 구성 해시 함수(Hash Function) : 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수, 해시 함수를 사용하여 구한 Key를 해시라고함. ex) 제곱법, 폴딩법, 기수변환법, 대수적코딩법, 계수분석법, 무작위법 해시충돌 대처 해시 함수를 사용했을 때 같은 key값이 나오는 경우를 해결하는 방안 1. 체이닝(Separate Chaining) 해시를 변경하지 않고 연결하여 저장 링크드 리스트 : 링크드 리스트를 사용해 그대로 연결하는 방식, 데이터 개수가 적을 때 유리 R-B Tree : 트리를 사용해 ...
-
비선형 구조 - 힙
완전이진트리(링크)의 일종 이진탐색트리와 힙의 차이점 이진탐색트리 : 탐색을 위한 자료구조 힙 : 최대/최소값 검색을 위한 자료구조 최대값과 최소값을 빠르게 찾기 위한 자료구조 최대힙(max heap) : 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리 (부모노드 : 최대값) 최소힙(min heap) : 부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리 (부모노드 : 최소값) 최대값 or 최소값 검색시 : O(1) 삽입, 삭제시 : O(logn) 우선순위 큐를 구현하는데 가장 효율적인 자료구조 ...