求数组比最大值小的最大值?

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操作。

 

posted @ 2017-10-17 11:27  林子沐  阅读(185)  评论(2编辑  收藏  举报