언어/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 메소드에 파라미터로 ("")을 주면 한글자씩 자른 배열을 리턴한다!