用Arrays将数组转换为List

来源:互联网 发布:师洋的淘宝店差评 编辑:程序博客网 时间:2024/05/29 11:23
  在平时的运用中,一问到怎么把一个数组转换为List时,大部分人会用以下代码实现(使用泛型):

public static <T> List<T> toArray(T[] array) {
  List<T> tmp = new LinkedList<T>();
  for (T o : array)
   tmp.add(o);

  return tmp;
 }

    看看以上代码你会发现,当array数组很大时,会花费很多时间进行转换!那么,有没有更好更省时的方法将一个数组转换成List呢?答案是肯定的!

  

  今天看了Java中Arrays的源代码,发现这个类中有一个asList(T... a) 方法,我们来看一下这个方法的代码:

private final E[] a; 

public static <T> List<T> asList(T... a) {
     return new ArrayList<T>(a);
   }

ArrayList(E[] array) {
            if (array==null)
                throw new NullPointerException();
         a = array;
 }

    是不是觉得比之前的代码好很多呢?这个方法直接就把数组转换成List了!在时间上比之前的方法快多少你懂的!

原创粉丝点击