Java에서 배열의 최소 및 최대
우리가 말하고 반복하듯이 Java는 객체 지향 개념 덕분에 미리 정의된 방법을 제공하여 프로그래밍을 더 쉽게 만들지만 이러한 방법을 직접 프로그래밍하면 약간의 연습과 형태를 유지하는 데 도움이 됩니다. 주요 주제로 돌아가서 n 요소 배열에서 최대값과 최소값을 찾으려면 지금까지 찾은 가장 큰/가장 작은 요소를 현재 요소와 비교하면서 첫 번째 요소부터 마지막 요소까지 전체 배열을 살펴봐야 한다는 것을 알아야 합니다.이 기사의 예에서, 배열에서 최소값과 최대값을 찾는 네 가지 솔루션을 제시합니다.
- 순진한 솔루션
- Java 8
- Google의 Guava Api 라이브러리
- Apache Commons 라이브러리
다음은 배열에서 가장 작은 값의 값과 위치를 반환하는 Java 프로그램입니다.
public class min_max_array {런타임:
public static void main(String[] args) {
int maxVal = Integer.MAX_VALUE;
int minVal = Integer.MIN_VALUE;
int 배열[] = {51, 24, 19, 5, 37, 76, 61, 99, 101, 36};
for (int number:array)
System.out.print(number+" ");
for(int i = 0; i < array.length; i++){
if(array[i] < maxVal)
maxVal = array[i];
if(배열[i] > minVal)
minVal = 배열[i];
}
System.out.print("\n최소값 = "+maxVal);
System.out.print("\n최대값 = "+minVal);
}
}
51 24 19 5 37 76 61 99 101 36이 예제에서는 먼저 변수를 초기화합니다minVal Integer.MAX_VALUE int을 사용할 수 있습니다. 이는 초기 값이 실수로 배열의 첫 번째 값보다 작지 않도록 하기 위한 것입니다.
최소값 = 5
최대값 = 101
둘째, 프로그램은 배열을 살펴보고 각 값을 minVal입니다. 테이블이 다음보다 작습니다 minVal스팬> 그래서 minVal스팬> 는 이 요소의 값을 받습니다.
마지막으로 배열에 있는 최소값이 표시됩니다.
Java 8
Java 8을 사용하면 가장 큰 숫자와 가장 작은 숫자를 쉽게 찾을 수 있습니다. 첫 번째 코드에서 배열을 스트림으로 변환한 다음 Arrays.stream().max() OptionalInt를 반환하고 발견된 가장 큰 값을 포함합니다.
두 번째 코드는 int 프리미티브에 특화된 스트림인 IntStream을 사용하며, 여기에서 intStream.of().max() 이는 OptionalInt.
public void max_array_java8 (int[] tab) {
OptionalInt max = Arrays.stream(tab).max();
//또는
OptionalInt max = IntStream.of(tab).max();
}
public 무효 min_array_java8 (int[] 탭) {
OptionalInt min = Arrays.stream(탭).min();
//또는
OptionalInt min = IntStream.of(tab).min();
}
Google의 Guava API
Guava의 Ints 클래스는 두 가지 메서드를 제공합니다Ints.max() 및 Ints.min() 각각 가장 큰 값과 가장 작은 값을 반환합니다. 이 API를 사용하려면 공식 웹 사이트 Google Guava.
à
public static int max_array_guava (int[] tab) {
int max = Ints.max(tab);
최대 반환;
}
public static int min_array_guava (int[] 탭) {
int min = Ints.min(탭);
반환 분;
}
Apache Commons
아파치 커먼즈의 NumberUtils 클래스는 자바에 추가 기능을 제공하며 두 가지 메소드를 포함합니다NumberUtils.max() 및 NumberUtils.min()을 사용하여 각각 가장 큰 값과 가장 작은 값을 반환합니다. 이 라이브러리를 사용하려면 api Apache Commons.public static int max_array_apache (int[] tab) {References:
int max = NumberUtils.max(tab);
최대 반환;
}
public static int min_array_apache (int[] 탭) {
int min = NumberUtils.min(탭);
반환 분;
}
Find Min & 최소 비교를 사용하여 배열의 최대값