기타/프로그래밍 분류

JAVA - Comparable,Comparator, Utilities, Arrays

zelkova 2013. 10. 15. 21:41

 <목차로 돌아가기>


Comparable 인터페이스

객체가 컬렉션에 저장될 때 자연 순서로 정렬되어야 한다면 이 객체는 Comparable인터페이스를 구현하고 있어야 한다. 만약 자연 순서가 아닌 특정 순서로 정렬되어야 한다면 이 객체는 Comparator 인터피에스를 구현해야 한다.


1.정렬이 가능함을 표시하기 위한 마커 인터페이스

2. 자연 순서로 정렬

3. java.lang패키지에 포함되어 있음


java.lang.Comparable인터페이스의 메소드

int

compareTo(T o)

이 객체를 다른 객체와 비교한다.

o1 < o2이면 음수 반환, of = o2이면 0 반환, o1 > o2이면 양수 반환


package java.lang;


public interface Comparable<T>{

public int compareTo(T o);

}


Comparator 인터페이스

객체가 컬렉션에 저장될 때, 사용자가 원하는 순서로 정렬하고 싶다면 해당 객체가 Comparator 인터페이스를 구현하고 있어야 한다.

1.특별한 정렬 순서를 제공하기 위한 인터페이스

2. java.util 패키지에 포함되어 있음


java.lang.Comparator인터페이스의 메소드

int

Compare(T o1, T o2)

o1과 o2를 비교한다.

o1 < o2이면 음수 반환, o1 = o2이면 0 반환, o1 > o2이면 양수반환


boolean

equals(Object obj);

현 객체가 지정된 obj와 같은지 비교한다.


package java.util;


public interface Comparator<T>{

int compare(T o1, T o2);

boolean equals(Object obj);

}


Utilities 클래스

Utilities 클래스는 컬렉션이나 배열을 조작하기 위한 클래스를 말하면 Arrays와 Collections클래스가 여기에 포함되다


java.util.Arrays 클래스의 메소드


static<T>List <T> 

asList(T... a)

지정된 배열로 고정 사이즈의 List를 반환한다.


static int 

binarySearch(Object[] a, Object key)

지정된 배열에서 Binary 검색 알고리즘을 사용하여 지정된 객체를 찾는다.


static void

sort(byte[] a)

지정된 byte 배열을 오름차순 숫자로 정렬한다.


static void

sort(byte[] a, int fromIndex, int toIndex)

지정된 byte 배열의 지정된 범위 만큼 오름차순 숫자로 정렬한다.


static void

sort(Object[] a)

지정된 Object 배열을 오름차순의 자연스러운 순서로 정렬한다.


static void

sort(Object[] a, int fromIndex, int toIndex)

지정된 Object 배열의 지정된 범위만큼 오름차순의 자연스러운 순서로 정렬한다.


Array 클래스 예제

import java.util.Arrays;

import java.util.List;


public class Test{

public static void main(String args[]){

String[] arr = {"d","a","b","c"};


for (String a : arr){

System.out.print(a);

}

System.out.println("");

Arrays.sort(arr);


for(String a : arr){

System.out.print(a);

}

System.out.println("");


System.out.println(Arrays.binarySearch(arr, "c"));


List list = Arrays.asList(arr);

System.out.println(list);

}

}


반응형

'기타 > 프로그래밍 분류' 카테고리의 다른 글

JAVA - 제네릭  (0) 2013.10.16
JAVA _ Collections클래스, 해시코드  (0) 2013.10.16
JAVA - 컬렉션_맵(MAP)  (0) 2013.10.15
JAVA - 컬렉션_큐(Queue)  (0) 2013.10.15
JAVA - 컬렉션_리스트(List)  (0) 2013.10.15