ArrayList转为String和数组

造一个元素为Integer的ArrayList 为list_int

造一个元素为String 的 ArrayList 为list_str

ArrayList list_int = new ArrayList(); //Integer的List

list_int.add(1);

list_int.add(3);

list_int.add(5);

list_int.add(9);

ArrayList list_str = new ArrayList(); //String的List

list_str.add("xiaoling");

list_str.add("xiaoling");

ArrayList -> String

方法1:使用toString

优势:无论元素是什么类型,只要元素本身写好了toString方法,都可以用

劣质:这里是因为List都已经把toString封装好了,但是它前后带了中括号,且分割使用的是逗号加空格,因此需要进行一些处理

list_str同样可以使用该方法连接,这里只展示list_int

String toString = list_int.toString(); //ArrayList转换为String,带中括号的

String substring = toString.substring(1, toString.length() - 1);//去除中括号。小心java的substring是左闭右开的

String result = substring.replaceAll("\\s", "");//去除所有的空字符

System.out.println(result);//1,3,5,9

方法2:使用String.join(连接符,CharSequence对象)

连接各个元素同时指定连接符

​优势:手动指定了元素之间的连接符

劣势:只能用于元素为CharSequence的List对象

元素为String的List请使用该方法

String str = String.join(",", list_str);//将list_str中的元素使用逗号连接

System.out.println(str);//xiao,ling

ArrayList -> 数组

ArrayList的toArray方法很神奇的点在于,它将元素放入了参数数组中,但是又返回了一个数组,并且似乎返回的数组只能是Object[]类型.(使用自定义的数组就好)

Integer[] ints = new Integer[list_int.size()];//先造一个长度相同的Integer数组

Object[] objects = list_int.toArray(ints);// 使用toArray(T[] a) 方法将List的所有元素放入a数组中

for (Integer i : ints){

System.out.print(i+"\t");//1 3 5 9

}

System.out.println();

//for (Object i : objects){ //打印结果显示返回的数组和自定义的数组内容是一样的

// System.out.print(i+"\t");//1 3 5 9

//}

String转为ArrayList和数组

定义两个字符串

String str_int = "1,3,5,9";

String str_str = "jiang,chen,xiao,ling";

String -> 数组

将str_int转换为数组,问题在于无法直接转成Integer[],需要新建一个Integer[],然后遍历String[],将值单独转为Integer再放入Integer[]

String[] split = str_int.split(","); //转为String[]

//再将String[]转为Integer[]

Integer[] ints1 = new Integer[split.length];

for (int i = 0; i < ints1.length; i++) {

ints1[i] = Integer.parseInt(split[i]);

}

System.out.println(Arrays.asList(ints1)); //[1, 3, 5, 9]

String -> List

先转为数组,在转为List

ArrayList arrayList = new ArrayList(Arrays.asList(str_int.split(",")));

System.out.println(arrayList); //[1, 3, 5, 9]

数组转换为String和ArrayList

造两个数组

Integer[] arr_int = {1,3,7,11};

String[] arr_str = {"xiao","ling"};

数组 ->String

//先转为Arrays.ArrayList,再使用它的toString方法

String s = Arrays.asList(str_int).toString();

System.out.println(s);

//如果是字符串类型则直接

String join = String.join(",", str_str);

System.out.println(join);

数组 -> List

Arrays.asList(数组) 返回的是java.util.Arrays.ArrayList,并不是java.util.ArrayList,它是一个不可变List!需要再将其作为参数,调用java.util.ArrayList构造器才能获取一个正常的可变ArrayList!

ArrayList list1 = new ArrayList(Arrays.asList(arr_int));

System.out.println(list1);

ArrayList list2 = new ArrayList(Arrays.asList(arr_str));

System.out.println(list2);

到此这篇关于java中String,数组,ArrayList三者之间的转换的文章就介绍到这了,更多相关java String,数组,ArrayList转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

java arraylist 字符串数组_java中String,数组,ArrayList三者之间的转换相关推荐

  1. java char数组转string数组_Java中char数组(字符数组)与字符串String类型的转换方法...

    本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法.分享给大家供大家参考,具体如下: 在Java语言编程时,使用"口令字段"jPasswordFie ...

  2. java stringbuffer数组_Java中字符数组、String类、StringBuffer三者之间相互转换

    一.StringBuffer与String的相互转换 1.将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型. StringB ...

  3. java声明和初始化数组_Java 中初始化数组

    数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...

  4. java 字符串 面试_JAVA中String介绍及常见面试题小结

    字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. 深刻认识String 1)String为字符串常量:即String对象一旦 ...

  5. C++接收字符串数组_Java 中初始化数组

    数组是一种有用的数据类型,用于管理在连续内存位置中建模最好的集合元素.下面是如何有效地使用它们. -- Chris Hermansen(作者) 有使用 C 或者 FORTRAN 语言编程经验的人会对数 ...

  6. java中的数组_Java中的数组

    数组是在内存中存储相同数据类型的连续的空间 声明一个数组就是在内存空间中划出一串连续的空间 数组名代表的是连续空间的首地址 通过首地址可以依次访问数组所有元素 元素在数组中的排序叫做下标从零开始 数组 ...

  7. java 如何初始化数组_java中初始化数组的三种方式分别是什么

    三种初始化方式: 1.静态初始化:创建+赋值 2.动态初始化:先创建再赋值 3.默认初始化:创建之后若不赋值则会被赋对应数据类型的默认值 (视频教程推荐:java视频) 我们来看一下具体代码:publ ...

  8. java对象数组_Java中对象数组的使用方法详解

    本文实例讲述了Java中对象数组的使用方法.分享给大家供大家参考,具体如下: 一 点睛 对象可以用数组来存放,通过下面两个步骤来实现. 1 声明以类为数据类型的数组变量,并用new分配内存空间给数组. ...

  9. java中的对象数组_Java中对象数组的使用方法详解

    本文实例讲述了java中对象数组的使用方法.分享给大家供大家参考,具体如下: 一 点睛 对象可以用数组来存放,通过下面两个步骤来实现. 1 声明以类为数据类型的数组变量,并用new分配内存空间给数组. ...

  10. java指针的数组_Java中的数组是指针

    Java中的数组byte[] , int[] 之类的, 遵循的原则, 所有用到某个数组的变量都是指向的同一个引用 public class Test { @org.junit.Test public ...

最新文章

  1. Nginx学习之负载均衡fair模块
  2. flag -- 诡异的memcache标记
  3. NOIP模拟测试14「旋转子段·走格子·柱状图」
  4. git 还原文件到其他版本_如何在Git中还原旧文件版本
  5. 2017.10.24 学校食堂Dining 失败总结
  6. Java开发必须要掌握的20个核心技术
  7. Mybatis Plus启动注入 SQL 原理分析
  8. 每个tabpage中都有一个dategridview_宇宙中每个原子里都隐藏着一个巨大的秘密
  9. C++笔记----运算符重载
  10. PostgreSQL和MySQL
  11. 热门手机刷锤子ROM什么样?
  12. 电商系统架构全链路解析
  13. 处理器架构 (十三) ARMv6架构下 各微架构的不同
  14. 【蓝牙】什么?还不知道蓝牙协议栈开源了?
  15. PS如何快速更换logo颜色
  16. springcloud+eureka简单的邮件监控
  17. ASP.NET在线考试系统+文档说明
  18. HMI-36-【节能模式】开搞
  19. 大疆云台和华为P30_全面分析曝光大疆云台3和mobile有没有区别?哪个好?优缺点内幕透露...
  20. Git for windows下载、安装配置并从GitHub Clone项目

热门文章

  1. 网易新闻iOS版开发使用的第三方框架和组件列表
  2. as没有add as library选项
  3. springboot如何快速访问templates下的html
  4. Mybatis的xml映射文件,sql的模糊查询的实现(两种方式)占位符拼接,concat关键字
  5. 平均聚类系数_聚类方法排除CPU用量误报警
  6. python爬虫运行一遍后再运行不成功_python爬虫 - pyspdier run时运行到on_start就停止 但是单步调试可继续...
  7. arcgis中editor在哪_leetcode 刷题工具 leetcode-editor 本地调试篇
  8. LintCode—删除链表中的元素(452)
  9. [转]nodejs Error: request entity too large解决方案
  10. java 编程思想 一 第二章(对象)