전체 글
-
자바[JAVA] - HashMap()개념 및 여러가지 메서드Java/자바의정석 2023. 3. 9. 23:42
HashMap의 개념 HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다. Map은 Key와 Value 로 구성된 Entry객체를 저장하는 구조를 가지고 있다. Key와 Value는 모두 객체이며, Key의 경우는 중복이 허용되지 않으며 Value는 중복이 허용된다. 해싱(Hashing)기법을 사용하며 많은 양의 데이터를 검색하는 데 있어서 유리하다. Map 인터페이스를 구현하고있으며, 데이터를 Key와 Value의 쌍으로 저장한다. 저장시에는 put을 사용하여 저장 put(key, value) 똑같은 key값으로 다른 value값이 들어온다면 나중에 들어온 value값으로 변경된다. Entry Key 와 Value의 한쌍을 칭한다. 메서드 기능 HashMap() 기본생성자 HashMa..
-
자바[JAVA] - treeset()개념 및 여러가지 기능들Java/자바의정석 2023. 3. 9. 23:42
TreeSet 범위 탐색 정렬에 유리하다 이진 탐색트리(binary serach tree)로 구현 이진트리는 모든 노드가 최대 2개의 하위 노드를 가지고있다. HashSet에 비해 추가와 삭제에는 시간이 조금 더 걸린다. 데이터가 많아질 수록 추가, 삭제에 시간이 더 걸림 (비교 횟수가 증가하기 때문) 일반적 이진 탐색 트리의 경우에는 트리의 높이만큼 시간이 걸린다. 데이터값이 잘 분산되어있다면 효율적이지만 그렇지 않다면 비효율적이다. 이러면 비효율적인 부부을 개선하기위해 이진탐색트리가 나왔다. 부모보다 작은 값을 가지는 노드는 왼쪽자식으로, 큰 값을 가지는 노드는 오른쪽자식으로 배치하여 데이터의 추가 삭제시에 균형을 이룰 수 있도록 맞춰준다. TreeNode Left 왼쪽 자식노드 Object elem..
-
[JAVA] 자바 - 제네릭스(generics)란?Java/자바의정석 2023. 3. 8. 00:16
제네릭스(generics)란? 다양한 타입의 객체들을 다루는 메소드나 컬렉션 클래스 컴파일시 타입 체크를 해주는 기능 객체 타입을 '컴파일 시' 체크하므로 안정성을 높이고 형변환의 번거로움을 줄인다. 제네릭스 선언 // 일반 클래스 class Box { Object item; void setItem(Object item) {this.item = item;} Object getItem() {return item;} } // 제네릭 클래스 class Box { T item; void setItem(T item) {this.item = item;} T getItem() {return item;} } 보다 더 이해가 쉽도록 아래의 코드를 보며 확인해보자. 해당 코드는 자바의정석 예제코드이다. package Ju..
-
자바[JAVA] - Comparable과 Comparator의 이해Java/자바의정석 2023. 2. 28. 15:02
Comparable과 Comparator에 대해 알아보자 Comparable과 Comparator의 기본 개념 모두 인터페이스(Interface)로 구현되어있다. 즉, 사용하고자한다면 인터페이스 내에 선언된 메소드를 반드시 구현해야한다는 의미이다. 객체 비교를 하기위해 사용된다. Comparable은 무엇인가? Comparable : 자기자신과 매개변수를 비교하는 것 우선 기본개념만 알고 자세히 알기위해 아래의 코드를 살펴보자. public class compareTest { public static void main(String[] args) { int a = 1; int b = 2; if(a > b) { System.out.println("a가 b보다 큽니다."); }else if(a == b){ S..
-
자바 [JAVA] - HashSet개념 및 활용Java/자바의정석 2023. 2. 27. 23:29
자바의 HashSet에 대해알아보자 HashSet의 기본 개념 순서를 보장하지 않으며, 중복을 허용하지 않는다. HashSet - Set인터페이스를 구현한 대표적인 컬렉션 순서를 유지하려 한다면 LinkedHashSet클래스를 사용해야한다. HashSet의 생성자 HashSet() 기본생성자 HashSet(Collection c) 저장된컬렉션에 모든 객체 추가 HashSet(int initialCapacity) 초기용량을 지정한다. HashSet(int initialCapacity.floatloadFactor) 보통 loadFactor용량이 80%정도 찼을 경우 용량을 늘려준다. boolean add(Object o) 추가 boolean addAll(Object o) 합집합 boolean remove(O..
-
자바의정석 Comparator 활용하기Java/자바의정석 2023. 2. 27. 23:29
자바의정석 Comparator활용하기! 아래의 코드는 자바의정석 예제코드이다. package JavaChap11; import java.util.*; class Ex11_7 { public static void main(String[] args) { String[] strArr = {"cat", "Dog", "lion", "tiger"}; Arrays.sort(strArr); System.out.println("strArr=" + Arrays.toString(strArr)); Arrays.sort(strArr, String.CASE_INSENSITIVE_ORDER); System.out.println("strArr=" + Arrays.toString(strArr)); Arrays.sort(strArr, ..
-
자바의정석 Arrays여러가지 메서드Java/자바의정석 2023. 2. 27. 23:28
Arrays의 여러가지 메서드 메서드 설명 sort() 정렬 asList 배열을 ArrayList로 변환 copyOf() 배열을 복사 copyOfRanger() 특정 범위를 지정하여 복사 fill() 배열 채우기 위와같은 메서드 외에도 많은것들이 있다. 우선 자바의정석 예제로 나온 코드를 보며 실습을 해보자. package JavaChap11; import java.util.*; class Ex11_6 { public static void main(String[] args) { int[] arr = {0,1,2,3,4}; int[][] arr2D = {{11,12,13}, {21,22,23}}; System.out.println("arr="+Arrays.toString(arr)); System.out.p..
-
자바 Iterator란?Java/자바의정석 2023. 2. 27. 23:28
Iterator란? 모든 컬렉션 프레임워크(List, Set, Map, Queue 등)에 값을 읽어(Read)가져오거나 삭제(remove)하는 기능 Iterator의 장점 모든 컬렉션 프레임워크(List, Set, Map, Queue 등)에서 공통으로 사용이 가능하다. 값을 보다 쉽게 가져오고, 삭제가 가능하다. Iterator의 단점 단방향으로만 반복이 가능하다. 값을 변경 및 추가가 불가능하다. 대량의 데이터를 제어하는 경우에는 속도가 느리다. Iterator의 메서드 메서드 기능 Iterator.hasNext() Iterator내부의 다음값이 존재하는지 여부 Iterator.next() Iterator의 다음값을 가져오는 기능 Iterator.remove() Iterator에서 현재 요소를 제거합니..