Java의 배열 클래스
그만큼 배열 수업 java.util 패키지 의 일부입니다 Java 컬렉션 프레임워크 . 이 클래스는 동적으로 생성하고 액세스할 수 있는 정적 메서드를 제공합니다. 자바 배열 . 정적 메소드와 Object 클래스의 메소드로만 구성됩니다. 이 클래스의 메서드는 클래스 이름 자체에서 사용할 수 있습니다.
클래스 계층 구조는 다음과 같습니다.
java.lang.Object ? java.util.Arrays
괴짜, 이제 배열에 대한 작업을 선언, 초기화 및 계산할 수 있는데 왜 Java 배열 클래스가 필요한지 궁금할 것입니다. 이에 대한 대답은 이 클래스의 메소드 내에 있지만 실제로 이러한 함수는 프로그래머가 배열을 사용하여 지평을 확장하는 데 도움이 되기 때문에 더 자세히 논의할 것입니다. 루프 다음과 같은 배열에서 일부 작업을 수행하는 데 사용됩니다.
- 특정 값으로 배열을 채웁니다.
- 배열을 정렬합니다.
- 배열에서 검색합니다.
- 그리고 더 많은.
여기서 Arrays 클래스는 루프를 사용하지 않고 이러한 작업을 직접 수행하는 데 사용할 수 있는 여러 정적 메서드를 제공하므로 코드가 매우 짧고 최적화됩니다.
통사론: 클래스 선언
public class Arrays extends Object
통사론: 배열을 사용하려면
Arrays.;
Java 배열 클래스의 메서드
java.util 패키지의 Arrays 클래스에는 배열 채우기, 정렬, 검색 등에 사용할 수 있는 여러 정적 메서드가 포함되어 있습니다. 이제 아래 표 형식으로 표시된 이 클래스의 메서드에 대해 설명하겠습니다.
| 행동 양식 | 수행된 작업 |
|---|---|
| asList() | 지정된 배열이 지원하는 고정 크기 목록을 반환합니다. |
| 바이너리검색() | 이진 검색 알고리즘을 사용하여 배열에서 지정된 요소를 검색합니다. |
| 바이너리 검색(배열, fromIndex, toIndex, 키, 비교기) | 이진 검색 알고리즘을 사용하여 지정된 배열의 범위에서 지정된 개체를 검색합니다. |
| 비교(배열 1, 배열 2) | 매개변수로 전달된 두 배열을 사전순으로 비교합니다. |
| copyOf(originalArray, newLength) | 복사본이 지정된 길이를 갖도록 지정된 배열을 기본값으로 잘라내거나 채워서(필요한 경우) 복사합니다. |
| copyOfRange(originalArray, fromIndex, endIndex) | 지정된 배열의 지정된 범위를 새 배열에 복사합니다. |
| deepEquals(Object[] a1, Object[] a2) | 지정된 두 배열이 서로 완전히 동일한 경우 true를 반환합니다. |
| deepHashCode(Object[] a) | 지정된 배열의 깊은 내용을 기반으로 해시 코드를 반환합니다. |
| deepToString(Object[] a) | 지정된 배열의 전체 내용에 대한 문자열 표현을 반환합니다. |
| 같음(배열1, 배열2) | 두 배열이 동일한지 여부를 확인합니다. |
| fill(originalArray, fillValue) | 이 채우기 값을 이 배열의 각 인덱스에 할당합니다. |
| 해시코드(원본배열) | 이 배열 인스턴스의 정수 hashCode를 반환합니다. |
| 불일치(배열1, 배열2) | 지정된 두 배열 사이에서 일치하지 않는 첫 번째 요소의 인덱스를 찾아 반환합니다. |
| parallelPrefix(originalArray, fromIndex, endIndex, FunctionalOperator) | 지정된 기능 연산자를 사용하여 지정된 배열 범위에 대해 ParallelPrefix를 수행합니다. |
| parallelPrefix(originalArray, 연산자) | 지정된 기능 연산자를 사용하여 완전한 배열에 대해 parallelPrefix를 수행합니다. |
| parallelSetAll(originalArray, FunctionalGenerator) | 제공된 생성기 함수를 사용하여 이 배열의 모든 요소를 병렬로 설정합니다. |
| 병렬 정렬(원래 배열) | 병렬 정렬을 사용하여 지정된 배열을 정렬합니다. |
| setAll(originalArray, FunctionalGenerator) | 제공된 생성기 함수를 사용하여 지정된 배열의 모든 요소를 설정합니다. |
| 정렬(원본 배열) | 전체 배열을 오름차순으로 정렬합니다. |
| sort(originalArray, fromIndex, endIndex) | 지정된 배열 범위를 오름차순으로 정렬합니다. |
| sort(T[] a, int fromIndex, int toIndex, 비교기 c) | 지정된 비교기에 의해 유도된 순서에 따라 지정된 개체 배열의 지정된 범위를 정렬합니다. |
| sort(T[] a, 비교기 c) | 지정된 비교기에 의해 유도된 순서에 따라 지정된 개체 배열을 정렬합니다. |
| 분할기(originalArray) | 지정된 모든 배열을 포함하는 Spliterator를 반환합니다. |
| 분할기(originalArray, fromIndex, endIndex) | 지정된 배열의 지정된 범위를 포함하는 배열 유형의 Spliterator를 반환합니다. |
| 스트림(원래 배열) | 지정된 배열을 소스로 사용하여 순차 스트림을 반환합니다. |
| toString(원래 배열) | 이 배열 내용의 문자열 표현을 반환합니다. 문자열 표현은 대괄호([])로 묶인 배열 요소 목록으로 구성됩니다. 인접한 요소는 쉼표와 공백 문자로 구분됩니다. 요소는 String.valueOf() 함수에 의해 문자열로 변환됩니다. |
구현:
예시 1: asList() 방법
자바
// Java Program to Demonstrate Arrays Class> // Via asList() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > {> > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To convert the elements as List> > System.out.println(> 'Integer Array as List: '> > + Arrays.asList(intArr));> > }> }> |
산출
Integer Array as List: [[I@2f4d3709]
예 2: 바이너리검색() 방법
이 방법은 이진 검색 알고리즘을 사용하여 배열에서 지정된 요소를 검색합니다.
자바
// Java Program to Demonstrate Arrays Class> // Via binarySearch() method> > // Importing Arrays utility class> // from java.util package> import> java.util.Arrays;> > // Main class> public> class> GFG {> > > // Main driver method> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > Arrays.sort(intArr);> > > int> intKey => 22> ;> > > // Print the key and corresponding index> > System.out.println(> > intKey +> ' found at index = '> > + Arrays.binarySearch(intArr, intKey));> > }> }> |
산출
22 found at index = 3
예시 3: BinarySearch(array, fromIndex, toIndex, key, Comparator) 메서드
이 방법은 이진 검색 알고리즘을 사용하여 지정된 배열의 범위에서 지정된 객체를 검색합니다.
자바
// Java program to demonstrate> // Arrays.binarySearch() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > Arrays.sort(intArr);> > > int> intKey => 22> ;> > > System.out.println(> > intKey> > +> ' found at index = '> > + Arrays> > .binarySearch(intArr,> 1> ,> 3> , intKey));> > }> }> |
산출
22 found at index = -4
예시 4: 비교(배열 1, 배열 2) 메서드
자바
// Java program to demonstrate> // Arrays.compare() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // Get the second Array> > int> intArr1[] = {> 10> ,> 15> ,> 22> };> > > // To compare both arrays> > System.out.println(> 'Integer Arrays on comparison: '> > + Arrays.compare(intArr, intArr1));> > }> }> |
산출
Integer Arrays on comparison: 1
예시 5: CompareUnsigned(배열 1, 배열 2) 메서드
자바
// Java program to demonstrate> // Arrays.compareUnsigned() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Arrays> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // Get the second Arrays> > int> intArr1[] = {> 10> ,> 15> ,> 22> };> > > // To compare both arrays> > System.out.println(> 'Integer Arrays on comparison: '> > + Arrays.compareUnsigned(intArr, intArr1));> > }> }> |
산출
Integer Arrays on comparison: 1
예시 6: copyOf(originalArray, newLength) 메서드
자바
// Java program to demonstrate> // Arrays.copyOf() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To print the elements in one line> > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > > System.out.println(> '
New Arrays by copyOf:
'> );> > > System.out.println(> 'Integer Array: '> > + Arrays.toString(> > Arrays.copyOf(intArr,> 10> )));> > }> }> |
산출
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOf: Integer Array: [10, 20, 15, 22, 35, 0, 0, 0, 0, 0]
예시 7: copyOfRange(originalArray, fromIndex, endIndex) 메서드
자바
// Java program to demonstrate> // Arrays.copyOfRange() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To print the elements in one line> > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > > System.out.println(> '
New Arrays by copyOfRange:
'> );> > > // To copy the array into an array of new length> > System.out.println(> 'Integer Array: '> > + Arrays.toString(> > Arrays.copyOfRange(intArr,> 1> ,> 3> )));> > }> }> |
산출
Integer Array: [10, 20, 15, 22, 35] New Arrays by copyOfRange: Integer Array: [20, 15]
예시 8: deepEquals(Object[] a1, Object[] a2) 메서드
자바
// Java program to demonstrate> // Arrays.deepEquals() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Arrays> > int> intArr[][] = { {> 10> ,> 20> ,> 15> ,> 22> ,> 35> } };> > > // Get the second Arrays> > int> intArr1[][] = { {> 10> ,> 15> ,> 22> } };> > > // To compare both arrays> > System.out.println(> 'Integer Arrays on comparison: '> > + Arrays.deepEquals(intArr, intArr1));> > }> }> |
산출
Integer Arrays on comparison: false
예시 9: deepHashCode(Object[] a) 메서드
자바
// Java program to demonstrate> // Arrays.deepHashCode() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[][] = { {> 10> ,> 20> ,> 15> ,> 22> ,> 35> } };> > > // To get the dep hashCode of the arrays> > System.out.println(> 'Integer Array: '> > + Arrays.deepHashCode(intArr));> > }> }> |
산출
Integer Array: 38475344
예시 10: deepToString(Object[] a) 메서드
자바
// Java program to demonstrate> // Arrays.deepToString() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[][] = { {> 10> ,> 20> ,> 15> ,> 22> ,> 35> } };> > > // To get the deep String of the arrays> > System.out.println(> 'Integer Array: '> > + Arrays.deepToString(intArr));> > }> }> |
산출
Integer Array: [[10, 20, 15, 22, 35]]
예 11: equals(array1, array2) 메서드
자바
// Java program to demonstrate> // Arrays.equals() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Arrays> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // Get the second Arrays> > int> intArr1[] = {> 10> ,> 15> ,> 22> };> > > // To compare both arrays> > System.out.println(> 'Integer Arrays on comparison: '> > + Arrays.equals(intArr, intArr1));> > }> }> |
산출
Integer Arrays on comparison: false
실시예 12: fill(originalArray, fillValue) 방법
자바
// Java program to demonstrate> // Arrays.fill() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Arrays> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > int> intKey => 22> ;> > > Arrays.fill(intArr, intKey);> > > // To fill the arrays> > System.out.println(> 'Integer Array on filling: '> > + Arrays.toString(intArr));> > }> }> |
산출
Integer Array on filling: [22, 22, 22, 22, 22]
실시예 13: hashCode(originalArray) 메서드
자바
// Java program to demonstrate> // Arrays.hashCode() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To get the hashCode of the arrays> > System.out.println(> 'Integer Array: '> > + Arrays.hashCode(intArr));> > }> }> |
산출
Integer Array: 38475313
실시예 14: mismatch(array1, array2) 메서드
자바
// Java program to demonstrate> // Arrays.mismatch() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Arrays> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // Get the second Arrays> > int> intArr1[] = {> 10> ,> 15> ,> 22> };> > > // To compare both arrays> > System.out.println(> 'The element mismatched at index: '> > + Arrays.mismatch(intArr, intArr1));> > }> }> |
산출
The element mismatched at index: 1
실시예 15: parallelSort(originalArray) 메서드
자바
// Java program to demonstrate> // Arrays.parallelSort() method> > // Importing Arrays class from> // java.util package> import> java.util.Arrays;> > // Main class> public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To sort the array using parallelSort> > Arrays.parallelSort(intArr);> > > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > }> }> |
산출
Integer Array: [10, 15, 20, 22, 35]
실시예 16: 정렬(원본 배열) 방법
자바
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To sort the array using normal sort-> > Arrays.sort(intArr);> > > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > }> }> |
산출
Integer Array: [10, 15, 20, 22, 35]
실시예 17: sort(originalArray, fromIndex, endIndex) 방법
자바
// Java program to demonstrate> // Arrays.sort() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To sort the array using normal sort> > Arrays.sort(intArr,> 1> ,> 3> );> > > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > }> }> |
산출
Integer Array: [10, 15, 20, 22, 35]
실시예 18: sort(T[] a, int fromIndex, int toIndex, 비교기 c) 방법
자바
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> > int> rollno;> > String name, address;> > > // Constructor> > public> Student(> int> rollno, String name,> > String address)> > {> > this> .rollno = rollno;> > this> .name = name;> > this> .address = address;> > }> > > // Used to print student details in main()> > public> String toString()> > {> > return> this> .rollno +> ' '> > +> this> .name +> ' '> > +> this> .address;> > }> }> > class> Sortbyroll> implements> Comparator {> > // Used for sorting in ascending order of> > // roll number> > public> int> compare(Student a, Student b)> > {> > return> a.rollno - b.rollno;> > }> }> > // Driver class> class> Main {> > public> static> void> main(String[] args)> > {> > Student[] arr = {> new> Student(> 111> ,> 'bbbb'> ,> 'london'> ),> > new> Student(> 131> ,> 'aaaa'> ,> 'nyc'> ),> > new> Student(> 121> ,> 'cccc'> ,> 'jaipur'> ) };> > > System.out.println(> 'Unsorted'> );> > for> (> int> i => 0> ; i System.out.println(arr[i]); Arrays.sort(arr, 1, 2, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
산출
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 131 aaaa nyc 121 cccc jaipur
실시예 19: sort(T[] a, 비교기 c) 방법
자바
// Java program to demonstrate working of Comparator> // interface> import> java.util.*;> import> java.lang.*;> import> java.io.*;> > // A class to represent a student.> class> Student {> > int> rollno;> > String name, address;> > > // Constructor> > public> Student(> int> rollno, String name,> > String address)> > {> > this> .rollno = rollno;> > this> .name = name;> > this> .address = address;> > }> > > // Used to print student details in main()> > public> String toString()> > {> > return> this> .rollno +> ' '> > +> this> .name +> ' '> > +> this> .address;> > }> }> > class> Sortbyroll> implements> Comparator {> > > // Used for sorting in ascending order of> > // roll number> > public> int> compare(Student a, Student b)> > {> > return> a.rollno - b.rollno;> > }> }> > // Driver class> class> Main {> > public> static> void> main(String[] args)> > {> > Student[] arr = {> new> Student(> 111> ,> 'bbbb'> ,> 'london'> ),> > new> Student(> 131> ,> 'aaaa'> ,> 'nyc'> ),> > new> Student(> 121> ,> 'cccc'> ,> 'jaipur'> ) };> > > System.out.println(> 'Unsorted'> );> > for> (> int> i => 0> ; i System.out.println(arr[i]); Arrays.sort(arr, new Sortbyroll()); System.out.println('
Sorted by rollno'); for (int i = 0; i System.out.println(arr[i]); } }> |
산출
Unsorted 111 bbbb london 131 aaaa nyc 121 cccc jaipur Sorted by rollno 111 bbbb london 121 cccc jaipur 131 aaaa nyc
예 20: Spliterator(originalArray) 메서드
자바
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To sort the array using normal sort> > System.out.println(> 'Integer Array: '> > + Arrays.spliterator(intArr));> > }> }> |
산출
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e
실시예 21: Spliterator(originalArray, fromIndex, endIndex) 메서드
자바
// Java program to demonstrate> // Arrays.spliterator() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To sort the array using normal sort> > System.out.println(> 'Integer Array: '> > + Arrays.spliterator(intArr,> 1> ,> 3> ));> > }> }> |
산출
Integer Array: java.util.Spliterators$IntArraySpliterator@4e50df2e
실시예 22: stream(originalArray) 메서드
자바
// Java program to demonstrate> // Arrays.stream() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To get the Stream from the array> > System.out.println(> 'Integer Array: '> > + Arrays.stream(intArr));> > }> }> |
산출
Integer Array: java.util.stream.IntPipeline$Head@7291c18f
실시예 23: toString(원본 배열) 방법
자바
// Java program to demonstrate> // Arrays.toString() method> > import> java.util.Arrays;> > public> class> Main {> > public> static> void> main(String[] args)> > {> > > // Get the Array> > int> intArr[] = {> 10> ,> 20> ,> 15> ,> 22> ,> 35> };> > > // To print the elements in one line> > System.out.println(> 'Integer Array: '> > + Arrays.toString(intArr));> > }> }> |
산출
Integer Array: [10, 20, 15, 22, 35]