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

热门文章

优秀文章