数组初始化时候必须指定长度,而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 是链表结构,查询效率低,数据的增删改效率高。

ArrayList集合、String[]数组、String字符串的更多相关文章

  1. 数组转集合、集合转数组、字符串数组与int型、long型数组等的转换

    在项目中经常会遇到数组转集合.集合转数组.数组之间类型转换等操作 1.数组转集合 为了实现把一个数组转换成一个ArrayList,很多Java程序员会使用如下的代码: String str[] = { ...

  2. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

  3. Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

    1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例之 去除集合中重复元素,不创建新的集合: package ...

  4. java中集合,数组,字符串相互转换

    数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...

  5. 练习:自己写一个容器ArrayList集合 一一数组综合练习2

    package cn.bjsxt.collection; /** * 自己实现一个ArrayList */ import java.util.ArrayList; import java.util.L ...

  6. 练习:自己写一个容器ArrayList集合 一一数组综合练习

    package cn.bjsxt.myCollection; import java.util.Arrays; /** * 天下文章一大抄,看你会抄不会抄. * 模拟Stringbuilder 写一个 ...

  7. java中String数组和List的互相转化

    1.List转String数组 方法一: //先准备一个List List<String> testList=new ArrayList<>(); testList.add(& ...

  8. C#中存储数据的集合:数组、集合、泛型、字典

    为什么把这4个东西放在一起来说,因为c#中的这4个对象都是用来存储数据的集合……. 首先咱们把这4个对象都声明并实例化一下: //数组 ]; //集合 ArrayList m_AList = new ...

  9. java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,

    1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...

  10. js对象、数组转换字符串

    对象转换成字符串需要使用toString()方法. 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 c ...

随机推荐

  1. 修改CentOS的IP地址

    一.临时修改 命令:ifconfig eth0 192.168.1.147 重启或者关机后,iP地址将会恢复到修改之前的状态. 二.永久修改 命令: vi /etc/sysconfig/network ...

  2. 隐藏apache服务器信息

    安装完apache一般第一时间都是关闭apache的版本信息,黑客会通过apache暴露出来的信息针对性的入侵,为了服务器的安全这些信息一定要及时关闭. 1.隐藏PHP版本 修改php.ini exp ...

  3. Cocos Creator 键盘监听事件

    键盘事件键盘.设备重力传感器此类全局事件是通过函数 cc.systemEvent.on(type, callback, target) 注册的.cc.SystemEvent.EventType.KEY ...

  4. /*使用PHP创建一个数组,保存5個员工的信息(ename/sex/salary/birthday/pic)*/

    <?php/*使用PHP创建一个数组,保存5個员工的信息(ename/sex/salary/birthday/pic)*/$empList=[    ['ename'=>'张学友','se ...

  5. Oracle / PLSQL函数 - DECODE

    1.DECODE( expression , search , result [, search , result]... [, default] ) 参数说明: expression : 表中的某一 ...

  6. html5-hgroup和address元素

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  7. CNN那么多的网络有什么区别吗?如何对CNN网络进行修改?

    https://www.zhihu.com/question/53727257/answer/136261195 http://blog.csdn.net/csmqq/article/details/ ...

  8. 【Linux学习七】软件安装

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.编译安装1.解压 源码文件是压缩包 要先解压tar -zxvf t ...

  9. 1 virtual

    1 differents: 'virtual' just in C# In Java It does't have the keyword 2 Usages in C# used in base cl ...

  10. java及spark2.X连接mongodb3.X单机或集群的方法(带认证及不带认证)

    首先,我们明确的是访问Mongos和访问单机Mongod并没有什么区别.接下来的方法都是既可以访问mongod又可以访问Mongos的. 另外,读作java写作scala,反正大家都看得懂...... ...