- 使用内部类来存储要返回的结果即可实现返回多个参数
- 使用泛型并限定类型必须实现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()); } }