ArrayList集合、String[]数组、String字符串

本文介绍了Java中数组和ArrayList之间的转换方法,包括ArrayList转String[]和String[]转ArrayList的具体步骤及注意事项。此外还对比了ArrayList与LinkedList的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组初始化时候必须指定长度,而ArrayList是动态数组,可以根据实际内容改变

//声明stsArr数组并初始化

String[] strArr = new String[]{ "aaa", "bbb" }; 

//声明list集合

ArrayList<String> list = new ArrayList<String>();

list.add("aaa");

list.add("bbb");

1、ArrayList转String[]-----集合转换成数组

使用集合转数组的方法,必须使用集合的toArray(T[] array),传入的是类型完全一样的数组,大小就是list.size()

正例:

  List<String> list = new ArrayList<String>(2);

   list.add("guan");    

   list.add("bao");      

   String[] array = new String[list.size()];      

  array = list.toArray(array); 

  //String[] strArr = (String[]) list.toArray(new String[list.size()]);

说明使用 toArray 带参方法,入参分配的数组空间不够大时,toArray 方法内部将重新分配 内存空间,并返回新数组地址;如果数组元素大于实际所需,下标为[ list.size() ]的数组 元素将被置为 null,其它数组元素保持原值,因此最好将方法入参数组大小定义与集合元素 个数一致。

2、String[]List<String>-----使用工具类 Arrays.asList()把数组转换成集合不能使用其修改集合相关的方 法,它的 add/remove/clear 方法会抛出 UnsupportedOperationException 异常

说明:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。Arrays.asList 体现的是适配器模式,只是转换接口,后台的数据仍是数组。
  String[] str = new String[] { "a", "b" };

   List list = Arrays.asList(str);

第一种情况:list.add("c"); 运行时异常。

第二种情况:str[0]= "gujin"; 那么 list.get(0)也会随之修改

3、String[]转String

String str = String.join(",", strArr);

结果str:aaa,bbb

 

 

ArrayList 和LInkedList

 

ArrayList是线性表结构,查询效率高,数据的增删改,效率低

 

LinkedLIst 是链表结构,查询效率低,数据的增删改效率高。

 

转载于:https://www.cnblogs.com/hongzm/p/7699609.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值