Java通过排序找出数组第二大数字
1 方式一:对数组进行排序并返回第二大数字
通过对数组进行排序并返回第二大数字,我们可以找到java中的第二大数字。让我们看看完整的示例,以找到java数组中的第二大数字。
/**
* 一点教程网: http://www.yiidian.com
*/
public class SecondLargestInArrayExample{
public static int getSecondLargest(int[] a, int total){
int temp;
for (int i = 0; i < total; i++)
{
for (int j = i + 1; j < total; j++)
{
if (a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a[total-2];
}
public static void main(String args[]){
int a[]={1,2,5,6,3,2};
int b[]={44,66,99,77,33,22,55};
System.out.println("Second Largest: "+getSecondLargest(a,6));
System.out.println("Second Largest: "+getSecondLargest(b,7));
}}
以上代码输出结果为:
econd Largest: 5
Second Largest: 77
2 方式二:使用Arrays类找出数组的第二大数字
让我们看看另一个示例,该示例使用Arrays在Java数组中获取第二大元素的数字。
/**
* 一点教程网: http://www.yiidian.com
*/
import java.util.Arrays;
public class SecondLargestInArrayExample1{
public static int getSecondLargest(int[] a, int total){
Arrays.sort(a);
return a[total-2];
}
public static void main(String args[]){
int a[]={1,2,5,6,3,2};
int b[]={44,66,99,77,33,22,55};
System.out.println("Second Largest: "+getSecondLargest(a,6));
System.out.println("Second Largest: "+getSecondLargest(b,7));
}}
以上代码输出结果为:
Second Largest: 5
Second Largest: 77
3 方式三:使用Collections获取数组的第二大数字
/**
* 一点教程网: http://www.yiidian.com
*/
import java.util.*;
public class SecondLargestInArrayExample2{
public static int getSecondLargest(Integer[] a, int total){
List<Integer> list=Arrays.asList(a);
Collections.sort(list);
int element=list.get(total-2);
return element;
}
public static void main(String args[]){
Integer a[]={1,2,5,6,3,2};
Integer b[]={44,66,99,77,33,22,55};
System.out.println("Second Largest: "+getSecondLargest(a,6));
System.out.println("Second Largest: "+getSecondLargest(b,7));
}}
以上代码输出结果为:
Second Largest: 5
Second Largest: 77
热门文章
优秀文章