求數組最大值小的最大值?
阿新 • • 發佈:2017-10-17
etsec set ack public 參數 util eset 包裝 ret
}
public static int getSecond(Integer[] data){
List<Integer> dataList = Arrays.asList(data);
TreeSet<Integer> ts = new TreeSet<Integer>(dataList);
return ts.lower(ts.last());
}
}
package com.demo;
import java.util.Arrays;
import java.util.List;
import java.util.TreeSet;
public class Sort {
public static void main(String[] args) {
Integer[] data = new Integer[5];
for(int i=0;i<data.length;i++){
data[i] = i+1;
System.out.println("數組添加的數字為:"+data[i]);
}
System.out.println(getSecond(data));
}
public static int getSecond(Integer[] data){
List<Integer> dataList = Arrays.asList(data);
TreeSet<Integer> ts = new TreeSet<Integer>(dataList);
return ts.lower(ts.last());
}
}
註:asList方法輸入的是一個泛型的變長參數,基本類型是不能泛型化的,也就是說8個基本類型不能作為泛型參數,要想作為泛型參數就必須使用其所對應的包裝類型。另外,asList方法返回的是一個長度不可變的列表,數組有多長,轉換成的列表也就是多長,asList方法返回的List不能進行List.add和List.remove操作。
求數組最大值小的最大值?