본문 바로가기

개발/Java11

[JAVA] length | length() | size의 이론 및 실사용 length 배열의 길이를 알고자 할 때 length() 문자열의 길이를 알고자 할때 size() 컬랙션 프레임워크의 길이를 알고자 할 때 package Lengh_Lengh_Size; import java.util.ArrayList; public class Java_LengthCheckStudy { public static void main(String[] args){ Length_study(); StringLength_study(); Size_Study(); } public static void Length_study(){ int[] lengthStudy = new int[7]; System.out.println("length > "+lengthStudy.length); } public static .. 2021. 6. 10.
[Map] TreeMap 이론 및 코드 정리 •TreeMap 클래스는 키와 값을 한 쌍으로 하는 데이터를 이진 검색 트리(binary search tree)의 형태로 저장합니다. 레드-블랙 트리(Red-Black Tree) •TreeMap은 이진탐색트리의 문제점을 보완한 레드-블랙 트리(Red-Black Tree)로 이루어져 있습니다. •레드 블랙 트리는 부모 노드보다 작은 값을 가지는 노드는 왼쪽 자식으로, 큰 값을 가지는 노드는 오른쪽 자식으로 배치하여 데이터의 추가나 삭제 시 트리가 한쪽으로 치우쳐지지 않도록 균형을 맞추어줍니다.. • TreeMap에 객체를 저장하면 자동으로 정렬되는데, 키는 저장과 동시에 자동 오름차순으로 정렬되고 숫자 타입일 경우에는 값으로, 문자열 타입일 경우에는 유니코드로 정렬합니다. •정렬 순서는 기본적으로 부모 키.. 2021. 5. 26.
LinkedHashMap 이론 및 코드 정리 •가장 큰 특징은 자료가 입력된 순서를 기억한다는 것입니다. •LinkedHashMap은 HashMap을 확장합니다. HashMap의 모든 기능을 사용하되, •Doubly-Linked List를 내부에 유지함으로써 입력된 자료의 순서를 보관한다. •물론 자료의 크기가 커지면 메모리 사용량이 늘어나겠지만, 순서를 간편하게 유지하기 위해서 이만한게 없다. Doubly-Linked List •노드와 노드가 서로 연결되어 있다는 점입니다 •장점 : 양방향 탐색의 가장 큰 장점은 특정 인덱스 위치의 엘리먼트를 가져올 때와 반복자를 이용 해서 탐색할 때 드러납니다. •단점 : 우선 이전 노드를 지정하기 위한 변수를 하나 더 사용해야 합니다. 메모리를 더 많이 사용한다는 의미입니다. 또 구현이 조금 더 복잡해진다는 .. 2021. 5. 26.
Hashtable 이론정리 Hashtable 현재의 Hashtable 클래스는 HashMap 클래스와 마찬가지로 Map 인터페이스를 상속받습니다. 따라서 Hashtable 클래스에서 사용할 수 있는 메소드는 HashMap 클래스에서 사용할 수 있는 메소드와 거의 같습니다. 해시 테이블이 빠른 검색속도를 제공하는 이유는 내부적으로 배열(버킷)을 사용하여 데이터를 저장하기 때문이다. 해시 테이블은 각각의 Key값에 해시함수를 적용해 배열의 고유한 index를 생성하고, 이 index를 활용해 값을 저장하거나 검색하게 된다. 여기서 실제 값이 저장되는 장소를 버킷 또는 슬롯이라고 한다. 각각의 Key값은 해시함수에 의해 고유한 index를 가지게 되어 바로 접근할 수 있으므로 평균 O(1)의 시간복잡도로 데이터를 조회할 수 있다 충돌을.. 2021. 5. 26.