Java通过排序找出数组第二小数字

1 方式一:对数组进行排序并返回第二小数字

通过对数组进行排序并返回第二小数字,我们可以找到java中的第二小数字。让我们看看完整的示例,以找到java数组中的第二小数字。

/**
 * 一点教程网: http://www.yiidian.com
 */
public class SecondSmallestInArrayExample{  
public static int getSecondSmallest(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[1];//2nd element because index starts from 0  
}  
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 smallest: "+getSecondSmallest(a,6));  
System.out.println("Second smallest: "+getSecondSmallest(b,7));  
}}  

以上代码输出结果为:

Second smallest: 2
Second smallest: 33

2 方式二:使用Arrays类找出数组的第二小数字

让我们看看另一个示例,该示例使用Arrays在Java数组中获取第二小元素的数字。

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.util.*;  
public class SecondSmallestInArrayExample1{  
public static int getSecondSmallest(int[] a, int total){  
Arrays.sort(a);  
return a[1];  
}  
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 Smallest: "+getSecondSmallest(a,6));  
System.out.println("Second Smallest: "+getSecondSmallest(b,7));  
}}  

以上代码输出结果为:

Second smallest: 2
Second smallest: 33

3 方式三:使用Collections获取数组的第二小数字

/**
 * 一点教程网: http://www.yiidian.com
 */
import java.util.*;  
public class SecondSmallestInArrayExample2{  
public static int getSecondSmallest(Integer[] a, int total){  
List<Integer> list=Arrays.asList(a);  
Collections.sort(list);  
int element=list.get(1);  
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 Smallest: "+getSecondSmallest(a,6));  
System.out.println("Second Smallest: "+getSecondSmallest(b,7));  
}}  

以上代码输出结果为:

Second smallest: 2
Second smallest: 33

热门文章

优秀文章