1. 程式人生 > >Java方法遍歷一次數組返回兩個結果(最大值與最小值)

Java方法遍歷一次數組返回兩個結果(最大值與最小值)

遍歷 get urn 個數 gets IV 限定 null int

  1. 使用內部類來存儲要返回的結果即可實現返回多個參數
  2. 使用泛型並限定類型必須實現Comparable接口,實現重用
  3. 使用T...a實現傳入不定量個數的數組
public class ArrayAlg{
    /**
     * 限定傳入的類型必須實現Comparable接口,傳入不定個數的數組
     * @param a
     * @param <T>
     * @return  返回的是靜態內部類,實現返回多個參數
     */
    public static <T extends Comparable> Pair<T> minmax(T...a){
        
if(a==null||a.length==1)return null; T min=a[0]; T max=a[0]; for(T t:a){ if(t.compareTo(min)<0)min=t; if(t.compareTo(max)>0)max=t; } return new Pair<>(min,max); } /*泛型通用查找最小值函數 public static <T extends Comparable> T min(T[] array){ T min=array[0]; for(T t:array){ if(min.compareTo(t)>0)min=t; } return min; }
*/ static class Pair<T>{ private T first; private T second; public Pair(){ } public Pair(T first,T second){ this.first=first; this.second=second; } public T getFirst(){ return first; }
public void setFirst(T first){ this.first=first; } public T getSecond(){ return second; } public void setSecond(T second){ this.second=second; } } } class test{ public static void main(String[] argv){ ArrayAlg.Pair pair=ArrayAlg.minmax("asd","g","c","ghk"); System.out.println("最小值"+pair.getFirst()+" 最大值:"+pair.getSecond()); } }

Java方法遍歷一次數組返回兩個結果(最大值與最小值)