数组和list相互相互转化,并且添加数据

数组转化我list的三种方式

1.Arrays.asList(数组)

   String[] strings = new String[2];
        strings[0] = "afe";
        strings[1] = "sefe";
    List<String> list=Arrays.asList(strings);
    //汇报异常
    list.add("sefe");

理由:返回值是Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,它并非是java.util.ArrayList的类。

这个类具有set(),get(),contains()等方法,但是不具有添加add()或删除remove()

综合一句:就是不能添加或者删除原有的数组

2、new ArrayList<>(Arrays.asList(数组)

这种方法相当于再创建一个ArrayList,然后把原来的的java.util.Arrays.ArrayList的内容放进去。

局限性在于,存储数据量不大的时候。

 String[] strings = new String[2];
        strings[0] = "afe";
        strings[1] = "sefe";
List<String> li=Arrays.asList(strings);
ArrayList<String> list =new ArrayList<>(li);

3、Collections.addAll()

这是最为有效的方法。

1、首先要创建出ArrayList

2、然后通过Collections.addAll()(返回值是boolean型,用于判断是否成功)

 String[] strings = new String[2];
        strings[0] = "afe";
        strings[1] = "sefe";
List<String> list=new ArrayList();
Collections.addAll(list,strings);

List转化为数组

1、方式一:toArray()

返回是Object数组[ ],也能通过强转转化为自己的想要的类型,但是容易出错

并且list中的数据不一定都是String类型的。

List<String> list=new ArrayList<>();
list.add("sefs");
list.add(("fsef");
Object[] obj=list.toArray();

2、方式二:toArray(T a)

返回的是自己表示的类型

List<String> list=new ArrayList<>();
list.add("sefs");
list.add(("fsef");
String[] str=list.toArray(new String(list.size());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值