Java方法遍歷一次數組返回兩個結果(最大值與最小值)
阿新 • • 發佈:2018-06-18
遍歷 get urn 個數 gets IV 限定 null int
- 使用內部類來存儲要返回的結果即可實現返回多個參數
- 使用泛型並限定類型必須實現Comparable接口,實現重用
- 使用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方法遍歷一次數組返回兩個結果(最大值與最小值)