• List与Array之间互换


    1 数组转换为List

    调用Arrays类的静态方法asList。

    asList

    public static <T> List<T> asList(T... a)
    Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.) This method acts as bridge between array-based and collection-based APIs, in combination with Collection.toArray(). The returned list is serializable and implements RandomAccess.

    This method also provides a convenient way to create a fixed-size list initialized to contain several elements:

         List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");
     
    Parameters:
    a - the array by which the list will be backed
    Returns:
    a list view of the specified array

    用法:API中提供了一种使用的方法。更为常用的示例代码:

    [java]
    1. String[] arr = new String[] {"str1", "str2"};  
    2. List<String> list = Arrays.asList(arr);  

    2 List转换为数组

    这里的List以ArrayList为例,ArrayList的API提供了两种可供使用的函数。

    toArray

    public Object[] toArray()
    Returns an array containing all of the elements in this list in proper sequence (from first to last element).

    The returned array will be "safe" in that no references to it are maintained by this list. (In other words, this method must allocate a new array). The caller is thus free to modify the returned array.

    This method acts as bridge between array-based and collection-based APIs.

    Specified by:
    toArray in interface Collection<E>
    Specified by:
    toArray in interface List<E>
    Overrides:
    toArray in class AbstractCollection<E>
    Returns:
    an array containing all of the elements in this list in proper sequence
    See Also:
    Arrays.asList(Object[])

    toArray

    public <T> T[] toArray(T[] a)
    Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.

    If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the collection is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)

    Specified by:
    toArray in interface Collection<E>
    Specified by:
    toArray in interface List<E>
    Overrides:
    toArray in class AbstractCollection<E>
    Parameters:
    a - the array into which the elements of the list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
    Returns:
    an array containing the elements of the list
    Throws:
    ArrayStoreException - if the runtime type of the specified array is not a supertype of the runtime type of every element in this list
    NullPointerException - if the specified array is null

    用法:示例代码:

    [java]
      1. List<String> list = new ArrayList<String>();  
      2. list.add("str1");  
      3. list.add("str2");  
      4. int size = list.size();  
      5. String[] arr = (String[])list.toArray(new String[size]);//使用了第二种接口,返回值和参数均为结果 
  • 相关阅读:
    IIS使用十大原则,(IIS过期时间,IIS缓存设置) 【转载】
    微软中国的相关研发团队 交流平台
    Excel文件减肥和加速
    二进制与字符串之间的转换
    调度模式·WorkerChannelRequest
    引用Hibernate的Java桌面程序打包方法
    [收藏]Open CASCADE
    需要天天读月月读年年读的书
    geotools的dotnet版本
    FC4 下ns2.28的安装 (zz)
  • 原文地址:https://www.cnblogs.com/interdrp/p/8055958.html
Copyright © 2020-2023  润新知