언어/JAVA

[JAVA] Arrays 클래스 사용

steadyMan 2020. 12. 8. 17:22

Arrays클래스는 배열과 관련된 함수를 내장한 클래스입니다. 

개인적으로 자주 사용할거같다 생각되는 함수들을 정리합니다. 

 

Arrays.sort() 

: 배열의 값들을 정렬해줌, 정렬한 배열을 리턴하는게 아닌 정렬만해준다. 

//파라미터로 배열을 주입하면 정렬된다.
Arrays.sort(String[] participant);


//Collections.reverseOrder() 를 파라미터로 주입하면 역순으로 정렬한다.
Arrays.sort(list, Collections.reverseOrder());

ArrayList를 정렬하고자 할 경우 

List<String> Alist = new ArrayList<>();

Alist.add("c");
Alist.add("b");
Alist.add("a");

Collections.sort(Alist);

// 결과 
[a, b, c]

// 역정렬
Collections.sort(Alist, Collections.reverseOrder());
//결과
[c, b, a]

============================================================================

 

Arrays.asList() 

: 배열을 ArrayList 객체로 리턴해준다.

ex) List<String> list = Arrays.asList(String[] str);

 

 

Arrays.sort(array, int fromindex, int toindex) 

: 두 번째 파라미터 부터  세 번째 파라미터 까지 정렬한다. 

String ex = {"e", "d", "c", "b", "a"};

Arrays.sort(ex, 0, 2);

for(int i=0; i<ex.length; i++){
    System.out.print(ex[i]);        	
}

//결과 
decba //입력한 인덱스 0, 2까지만 정렬되고 그 뒤는 정렬되지않았다.

 

Arrays.copyOf(원본배열, 복사할 길이), Arrays.copyOfRange(원본배열, 시작인덱스, 끝인덱스)

: 배열의 요소를 복사할 수 있다.

//copyOf
int[] array = {1, 5, 2, 6, 3, 7, 4};

int[] test = Arrays.copyOf(array, 3);

for(int list: test) {
	System.out.print(list);
}

//결과
// 152


//copyOfRange
int[] test = Arrays.copyOfRange(array, 0, 3);

for(int list: test) {
	System.out.print(list);
}
// 결과
// 152

 

참고로 String객체의 .split 메소드에 파라미터로 ("")을 주면 한글자씩 자른 배열을 리턴한다!