목록Language/JAVA (5)
hyowonii의 블로그
Comparable, Comparator을 이용하여 Java 객체를 정렬할 수 있다. 1. Interface Comparable 정의 Comparable 인터페이스는 객체를 정렬하는 데 사용되는 compareTo() 메소드를 정의하고 있다. 같은 타입의 인스턴스를 서로 비교해야만 하는 클래스들은 모두 Comparable 인터페이스를 구현하고 있다. 따라서 Boolean을 제외한 래퍼 클래스나 String, Time, Data와 같은 클래스의 인스턴스는 모두 정렬 가능하다. * 래퍼 클래스(Wrapper class) : 기본 자료타입(primitive type)을 객체로 다루기 위해 사용하는 클래스 이때 기본 정렬 순서는 작은 값에서 큰 값으로 정렬되는 오름차순이 된다. 구현 package : java.l..
Priority Queue(우선순위 큐)란? 우선 순위에 따라 데이터가 추출되는 구조로 들어간 순서에 상관없이 우선 순위가 높은 데이터가 먼저 추출된다. Priority Queue를 구현하는 방법 배열로 구현 연결 리스트로 구현 Heap으로 구현 배열로 구현하는 방법 구현은 간단하지만 데이터 삽입 및 삭제가 일어날 때마다 연산의 횟수가 많아지는 단점이 있다. 또한 들어오는 데이터의 삽입 위치를 결정하기 위해 저장된 모든 데이터들과 우선 순위를 비교해야 하는데, 최악의 경우 우선 순위가 가장 낮은 데이터가 들어오면 큐의 모든 원소와 우선 순위를 비교해야 하는 일이 발생한다. 연결 리스트로 구현하는 방법 배열보다 삽입, 삭제가 용이하지만 역시나 삽입 위치를 결정해야 하므로 저장된 원소들과의 우선 순위 비교가..
https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html ◆ Java Collections Framework(JCF) Collection이란 데이터의 집합, 그룹을 의미하며 이를 구현하는 클래스를 정의하는 인터페이스를 제공하는 것이 Java Collections Framework(JCF)이다. JCF의 상속구조 ◆ Collection 인터페이스의 특징 interface 구현 Class 특징 List ArrayList LinkedList Stack Vector 순서가 있는 데이터의 집합, 원소의 중복이 허용됨 Set HashSet LinkedHashSet TreeSet 순서를 유지하지 않는 데이터의 집합, 데이터의 중복이 허용되지 않음 Que..
1. length : 배열의 길이를 알고자 할 때 사용 2. length() : 문자열의 길이를 알고자 할 때 사용 3. size() : 컬렉션프레임워크 타입의 길이를 알고자 할 때 사용 import java.util.ArrayList; public class SizeTest { public static void main(String[] args) { int[] list = {1, 2, 3, 4, 5}; System.out.println(list.length); String string = "This is String"; System.out.println(string.length()); ArrayList object = new ArrayList(); object.add(list); object.add(s..
모든 Set 컬렉션 클래스는 다음과 같은 특징을 가진다. 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장을 허용하지 않는다. 대표적인 Set 컬렉션 클래에서 속하는 클래스는 다음과 같다. 1. HashSet 2. TreeSet HashSet 클래스 HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나이고, 해시 알고리즘을 사용하여 검색 속도가 매우 빠르다. 이러한 HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장한다. 만약 요소의 저장 순서를 유지해야 한다면 LinkedHashSet 클래스를 사용하면 된다. 예제 코드 public class Set { public static void main(String[] args) ..