그만큼 배열 수업 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));> >}> }> |
e-r 모델 다이어그램
>
>산출
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]>