728x90 JAVA27 HASH, HASH SET, HASH MAP 개념 및 차이점 자바에서 `Hash`, `HashSet`, `HashMap`은 데이터 저장과 검색을 효율적으로 처리하기 위해 해싱(Hashing)이라는 기법을 사용하는 자료구조입니다. 각 개념을 아래와 같이 정리할 수 있습니다. 1. Hash- 정의: 해시(Hash)는 데이터를 고유한 키로 매핑하는 해시 함수(Hash Function)를 사용해 데이터를 빠르게 검색하거나 저장하는 기법입니다. - 해시 함수: 입력 값(데이터)을 일정한 길이의 고유한 해시 값(Hash Value)으로 변환하는 함수. - 장점: - 데이터 검색 속도와 저장 효율성이 뛰어남 (보통 `O(1)` 시간복잡도). - 단점: - 해시 충돌(Hash Collision)이 발생할 수 있음. (다른 입력값이 동일한 해시 값을 가질 때) - 메.. 2024. 11. 19. Comparable 인터페이스 Java의 Comparable 인터페이스는 객체들의 정렬(sorting)을 위해 사용됩니다. - Comparable 인터페이스는 compareTo() 메서드 하나만 정의되어 있습니다. - 이 인터페이스를 구현한 클래스는 서로 그 객체들을 비교할 수 있습니다. - compareTo() 메서드는 인자로 전달된 객체와 자신을 비교해서 정수 값을 리턴합니다. - 반환값이 0이면 두 객체가 같다는 것이고, 음수이면 자신이 앞에 오고, 양수이면 인자로 받은 객체가 앞에 오는 것입니다. - 이를 통해 객체들을 정렬할 수 있습니다. - 주로 Wrapper 클래스(Integer, Double 등), String, Date와 같은 클래스가 Comparable을 구현하고 있습니다. - Collections.sort()를 사.. 2023. 11. 16. Doubly Linked List 이중 연결 리스트 * 이중 연결 리스트는 순차적으로 연결된 노드 집합으로 구성된 데이터 구조 * 각 노드가 이전 노드와 다음 노드를 가리킨다. * 노드는 이전 노드와 다음 노드를 가리키는 두 개의 포인터로 '이중 링크'되어 있다. public class DoublyLinkedList { Node head; // 첫번째 노드 Node tail; // 마지막 노드 int size; // 이중 연결 리스트 요소 수 //constructor public DoublyLinkedList(){ head = null; tail = null; size = 0; } //node class private static class Node { int data; Node prev; Node next; //constructor public Node.. 2023. 10. 24. ArrayList 1. 생성 ArrayList arrayList = new ArrayList(); 2. 요소 추가 arrayList.add("apple"); arrayList.add(2,"banana"); 3. 요소 검색 arrayList.get(1); 4. 요소 업데이트 arrayList.set(1, 'grape'); 5. 요소 제거 arrayList.remove(2); 6. 크기 출력 System.out.print(arrayList.size()); 7. 요소 포함 여부 if(fruits.contains("banana")) { System.out.print("true"); }else { System.out.print("false"); } 8. 정렬 오름차순 정렬 : Collections.sort() ArrayList l.. 2023. 10. 23. 배열 인덱스 범위 초과 예외 처리 int[] numbers = {1,2,3,4,5}; try { int value = numbers[5]; }catch(ArrayIndexOutOfBoundsException e) { System.out.println("invalid index specified"); } 2023. 10. 18. 이전 1 2 3 4 ··· 6 다음 728x90