集合框架-数组与集合互转

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合框架-数组与集合互转相关的知识,希望对你有一定的参考价值。

数组和集合类同是容器,有何不同?

    数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。

    数组中可以对象和存储基本数据类型,集合只能存储对象。


集合框架-数组转成集合

java.util 类 Arrays

     * Arrays:用于操作数据的工具类提供了很多常见的方法比如排序,搜索等。

     * 该类中的方法都是静态的。

 

     * 数组转成集合   Arrays.asList([]);

     * 好处:可以使用集合list的方法来操作数组中的元素。可以使用集合 改查方法,只要不改变数组长度都可以。

     * 弊端:不可以使用集合的增删方法。

 
package cn.itcast.p3.arrays;
 
import java.util.Arrays;
import java.util.List;
 
public class ArraysDemo {
    public static void main(String[] args) {
        //int[] arr = {31,99,5,7,2,65};
        //System.out.println(Arrays.toString(arr));
         
        String[] strs = {"abc","hehe","haha","heihei"};
        List<String> lists = Arrays.asList(strs);
        //lists.add("xixi");//UnsupportedOperationException list集合中使用的最终还是这个数组,
        //数组是固定长度的。所以不可以对其进行增删。
        System.out.println(lists);
        System.out.println(lists.contains("haha"));
        //特殊情况:
        int[] nums = {45,12,98};
        /*
         * 如果数组中存储的是基本数据类型值,那么asList会将这个数组实体作为集合中的元素。
         * 如果数组中存储的都是对象,那么aslist会将数组中的元素作为集合中的元素。
         */
        List<int[]> list = Arrays.asList(nums);//存在集合里面的是 数组这一个元素
        System.out.println(list);
        Integer[] nums2 = {56,89,100};
        List<Integer> list2 = Arrays.asList(nums2);
        System.out.println(list2);
    }
     
}


 集合框架-集合转成数组

    

 * 集合转成数组

     Collection 接口中的方法 toArray();

         T[] toArray(T[])

     <T> T[] toArray(T[] a)

     

将集合转成数组

     * 如果传递的数组长度小于集合的长度,在toArray内部会自动创建一个长度和集合相同的数组。用于存储集合的元素。

     * 如果传递的数组长度大于等于集合的长度,则使用该数组存储集合的元素。

     * 一般情况下,数组的长度最好使用集合的size();

     *

     * 限定对数组元素的更多操作比如增删。


 

package cn.itcast.p3.arrays;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
 
public class ToArray {
    public static void main(String[] args) {
     
        Collection<String> coll = new ArrayList<String>();
        coll.add("abc1");
        coll.add("abc2");
        coll.add("abc3");
        String[] arr = coll.toArray(new String[coll.size()]);
        System.out.println(Arrays.toString(arr));
    }
}


 

 

 


以上是关于集合框架-数组与集合互转的主要内容,如果未能解决你的问题,请参考以下文章

List集合与E[]数组互转方法集锦

List集合与E[]数组互转方法集锦

集合与数组互转

数组与集合互转

java 集合与数组的互转方法,与源码分析

JAVA集合01_Collection接口概述常用方法集合和数组互转3种遍历方式