how sort an array java tutorial with examples
이 튜토리얼은 간단한 예제를 사용하여 오름차순, 내림차순 및 알파벳순으로 Java에서 배열을 정렬하는 다양한 방법을 설명합니다.
정렬은 특정 순서로 데이터를 정렬합니다. 컴퓨터 데이터는 하나 이상의 필드로 구성된 레코드로 구성됩니다. 데이터를 효율적으로 사용하고 검색, 액세스 등과 같은 다양한 작업을 수행하려면이 데이터를 특정 순서로 정렬하는 것이 좋습니다.
예를 들어, 학생 데이터 기록이 많으면 학생 ID 또는 학생 이름에 따라이 데이터를 정렬 할 수 있습니다. 이것을 정렬이라고합니다. 따라서 데이터를보다 효율적이고 쉽게 사용하려면 정렬이 필수적입니다.
=> 여기에서 Java 교육 자습서 시리즈를 방문하십시오.
Java에서 배열은 데이터를 포함하며 제공된 몇 가지 기준에 따라 배열하기 위해이 데이터를 정렬해야합니다. 이 튜토리얼에서는 간단한 예제와 함께 배열 정렬에 대해 자세히 설명합니다.
학습 내용 :
Java에서 배열을 정렬하는 방법
Java는 배열을 정렬하기 위해 다음과 같은 방법을 제공합니다.
- For 루프 사용 : for 루프를 사용하여 배열을 순회하고 인접 요소를 순회하고 순서대로 배치하는 동안 비교할 수 있습니다.
- 정렬 방법 사용 : 'java.util'패키지의 Arrays 클래스는 배열을 인수로 사용하여 배열을 정렬하는 정렬 방법을 제공합니다. 이것은 직접 정렬 방법이며 한 번의 메서드 호출로 배열을 정렬 할 수 있습니다.
이 두 가지 방법을 자세히 살펴 보겠습니다.
루프 사용
for 루프를 사용하는 것과 같은 수동 정렬을 사용하여 배열을 정렬 할 수 있습니다. 당신이 할 수있는 것은 두 개의 for 루프를 사용하는 것입니다. 하나는 시작부터 배열을 탐색하고 다른 하나는 외부 루프 내부에서 다음 요소를 탐색하는 데 사용됩니다.
본문에서 인접한 요소를 비교하고 순서가 맞지 않으면 교체합니다. 요소 교체에 임시 변수를 사용할 수 있습니다.
아래 프로그램은 이러한 접근 방식을 보여줍니다.
public class Main { public static void main(String() args) { //define original array int () intArray = new int () {52,45,32,64,12,87,78,98,23,7}; int temp = 0; //print original array System.out.println('Original array: '); for (int i = 0; i 산출:
for 루프를 사용한 정렬은 더 작은 배열이 관련 될 때 효율적일 수 있습니다. 배열 크기가 증가하면 복잡해질 수 있습니다.
정렬 방법
'java.util.Arrays'클래스에서 제공하는 정렬 방법은 배열을 정렬하는 매우 간단하고 빠른 방법입니다. 이 메서드는 기본 형식의 요소와 비교 가능한 인터페이스를 구현하는 개체를 정렬 할 수 있습니다.
기본 유형 요소가 정렬 될 때 sort 메소드는 quicksort를 사용합니다. 객체가 정렬 될 때 반복적 병합 정렬이 사용됩니다.
정렬 방법의 일반적인 프로토 타입은 다음과 같습니다.
Arrays.sort (T() t_arr);
여기서 T ()는 데이터 유형이고 t_arr는 정렬 할 배열입니다.
위의 프로토 타입은 Comparable 인터페이스를 구현하는 배열에서 작동합니다.
사용자 지정 개체의 배열의 경우 아래에 주어진 Arrays.sort의 다른 변형을 사용할 수 있습니다. .
Arrays.sort(T() t_arr, Comparator.c);
따라서 Comparable 인터페이스를 구현하지 않는 배열의 경우 정렬 함수에 비교기가 전달되어야합니다. 기본적으로 정렬 방법은 배열을 오름차순으로 정렬합니다.
배열 정렬의 몇 가지 구체적인 예를 살펴 보겠습니다.
오름차순으로 숫자 배열 정렬
첫 번째 데모는 정렬 방법을 사용하여 오름차순으로 숫자 배열을 정렬하는 것입니다. 이미 언급했듯이 기본적으로 정렬 방법은 배열을 오름차순으로 정렬합니다. 따라서 숫자 형 배열을 오름차순으로 정렬하려면 해당 배열에서 메서드를 호출하기 만하면됩니다.
다음은이를 보여주는 예입니다.
자바에서 그래프를 표현하는 방법
import java.util.Arrays; public class Main { public static void main(String() args) { //define an array int() intArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; System.out.printf('Original Array : %s', Arrays.toString(intArray)); Arrays.sort(intArray); System.out.printf('
Sorted Array : %s', Arrays.toString(intArray)); } }
산출:
위의 프로그램에서 하나의 함수 호출 만 오름차순으로 배열을 정렬합니다.
내림차순으로 숫자 배열 정렬
다음 작업은 숫자 형 배열을 내림차순으로 정렬하는 것입니다. 이를 위해 정렬 방법은 배열을 내림차순으로 정렬하는 두 번째 인수 'Collections.reverseOrder ()'와 함께 제공됩니다.
배열을 내림차순으로 정렬하는 프로그램은 다음과 같습니다.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { //Collections.reverseOrder do not work for primitive Types //define an array with Integer Integer() IntArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; //print original array System.out.printf('Original Array: %s', Arrays.toString(IntArray)); // Sorts IntArray in descending order Arrays.sort(IntArray, Collections.reverseOrder()); //print sorted array System.out.printf('
Sorted Array: %s', Arrays.toString(IntArray)); } }
산출:
알파벳순으로 string 형 배열 정렬
숫자 형 배열과 마찬가지로 sort 함수를 사용하여 string 형 배열을 정렬 할 수도 있습니다. string 형 배열을 전달하면 배열이 알파벳 오름차순으로 정렬됩니다. 배열을 알파벳 내림차순으로 정렬하려면 Collections 인터페이스 메서드 reverseOrder ()를 두 번째 인수로 제공해야합니다.
다음 프로그램은 오름차순 및 내림차순으로 문자열 배열을 정렬하는 방법을 보여줍니다.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { String str_Array() = {'Java', 'Python', 'Perl', 'C++', 'C#', 'AS400'}; System.out.printf('Original Array:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in ascending order Arrays.sort(str_Array); System.out.printf('Array sorted in ascending order:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in descending order Arrays.sort(str_Array, Collections.reverseOrder()); System.out.printf('Array sorted in descending order :
%s
', Arrays.toString(str_Array)); } }
산출:
프로그램의 출력은 오름차순과 내림차순으로 정렬 된 문자열 배열을 보여줍니다.
자주 묻는 질문
Q # 1) Java에서 정렬이란 무엇입니까?
대답: 정렬은 알파벳 또는 숫자 순서로 데이터를 정렬하는 것을 말합니다.
Q # 2) Java에서 배열 정렬에 사용되는 정렬 기술은 무엇입니까?
대답: 배열은 기본 데이터 유형에 대해 이중 피벗 Quicksort를 사용하고 객체 정렬에 Mergesort를 사용합니다.
Q # 3) 자바에서 비교기는 무엇입니까?
대답: 비교기 인터페이스는 java.util 패키지의 일부이며 사용자 정의 개체를 정렬하는 데 사용됩니다. 비교기 인터페이스는 주로 정렬 방법을 사용하여 개체를 정렬하는 동안 사용됩니다.
Q # 4) Java에서 Sorting을 사용하는 것은 무엇입니까?
대답: 정렬은 특정 순서로 데이터를 정렬하는 기술입니다. 데이터 정렬은 데이터를보다 효율적이고 빠르게 검색 할 수 있으므로 유용합니다. 또한 주문 된 데이터에 대한 액세스, 저장 등과 같은 다른 작업을 쉽게 수행 할 수 있습니다.
Q # 5) Java에서 목록 정렬이 가능합니까?
대답: 예. 목록은 Java의 Collections 인터페이스의 일부이며 Collections 인터페이스의 sort () 메서드를 사용하여 목록을 정렬 할 수 있습니다.
결론
이것으로 Java의 배열 정렬에 대한 논의가 완료되었습니다. Java 패키지에서 제공하는 배열을 포함하여 Java에서 배열을 정렬하는 다양한 방법과 'for'루프를 사용하여 배열 요소를 하나씩 정렬하는 전통적인 방법에 대해 논의했습니다.
배열을 오름차순과 내림차순으로 정렬하는 방법을 보았습니다. 그런 다음 문자열 배열을 알파벳 순서로 정렬하는 방법을 배웠습니다.
다음 튜토리얼에서 Java 배열에 대한 더 많은 주제를 계속 탐색 할 것입니다.
=> 여기 모두에 대한 전체 Java 자습서를 참조하십시오
추천 도서