数组集合转换

数组变字符串
int[] arr = {4,1,8,5,3,5};
System.out.println(Arrays.toString(arr));//[4,1,8,5,3,5]

1、集合转数组

Object[]    toArrays()E[]         toArrays(E[] e);
有时候 需要让集合围成数组,因为有时需要限定对集合中的元素操作,不需要对该元素进行增删。
这里我们 可以 使用的是Collection接口中的toArray方法。
在使用toArray方法时,可以传入一个指定类型的数组。
那么toArray会返回该类型的数组并存储了集合中的元素。
给toArray方法传递的数组长度该怎么定义呢?
如果传入的数组长度小于集合的长度,那么该toArray方法内部会建立一个新的该类型的数组,并长度和集合一致,来存储集合的元素。
如果传入的数组长度大于集合的长度,那么就使用传入的数组存储集合的元素,没有存储数据的位置为null。
所以传入数组时,该数组长度最好定义成集合的的长度。这就是刚刚好的数组。

例:  Collection<String> c2 = new ArrayList<String>();c2.add("c++");c2.add("python");c2.add("php");c2.add("c#");System.out.println(c2);//想使用数组元素是必须强制转换 相对麻烦Object[] obj = c2.toArray();System.out.println(((String)obj[1]).length());//集合转数组/*为了避免强制性转换,调用重载方法,传一个元素类型的数组即可*/String[] arr = c2.toArray(new String[0]);System.out.println(arr);//[Ljava.lang.String;@15db9742System.out.println(arr[1]);//pythonSystem.out.println(Arrays.toString(arr));//[c++, python, php, c#]System.out.println(arr[1].length());//6

2、数组转集合

List        Arrays.asList(数组参数);(1)数组存储基本数据类型,则会将该数组作为集合元素存在int[] arr = {4,1,8,5,3,5};List<int[]>list = Arrays.asList(arr);System.out.println(list);//输出地址(2)数组存储引用数据类型,则变成集合时,这些元素作为集合的元素存在Integer[] arr = {3,1,5};List<Integer> list  = Arrays.asLiat(arr);System.out.println(list);//输出[3,1,5]PS:数组转成的集合,不可进行增删操作(运行异常),可以替换(数组变量会有影响)若想增删,将元素存入新集合String[] arr1 = {"1","10","a","abc"};//将数组转集合List<String>list = Arrays.asList(arr1);System.out.println(list);

集合转数组 数组转集合相关推荐

  1. Java之数组array和集合list、set、map

    2019独角兽企业重金招聘Python工程师标准>>> 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合   有人想有可以自动扩展的数组,所以有了List   有的 ...

  2. List集合与Array数组之间的互相转换

    1.数组转化成list集合(采用java中集合自带的asList()方法就可以完成转换了) String[] array = new String[] {"123", " ...

  3. MapString, Object map 集合转 json数组, json数组转list ,按条输出到es

    2019独角兽企业重金招聘Python工程师标准>>> Map<String, Object> map 集合转 json数组, json数组转list ,按条输出到es ...

  4. arduino byte转string_Java数组转List集合的三驾马车

    点击上方 蓝字关注我们 来源:blog.csdn.net/x541211190/article/details/79597236 前言 本文中的代码命名有的可能不太规范,是因为没法排版的问题,小仙已经 ...

  5. 【C语言】第六章 集合数据与数组 题解

    第六章 集合数据与数组 1.不相同. a[10]里的a是一维数组,而a[2][5]中的a是二维数组. 2.代码如下: #include <stdio.h>int main() {print ...

  6. 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序

    1.实现对象数组排序 (1)方法一,需要排序的对象所属的类实现Comparable接口,复写 comparaTo方法  (2)方法二,需要排序的对象所属的类已经完成无法实现Comparable接口,这 ...

  7. php 数组改成索引数组_PHP 自定义集合与数组规范

    下面是我使用处理动态数组的一些规则.这差不多是一个关于数组设计的风格指南,但是把它添加到对象设计风格指南感觉不太对,因为不是所有的面向对象语言都有动态数组.本文中的示例是用 PHP 编写的,因为 PH ...

  8. Java 数组转成集合List三种方法和(数组、集合List、Set相互转换)

    Java 数组转成集合List 三种方法 package com.list;import java.util.ArrayList; import java.util.Arrays; import ja ...

  9. arraylist扩容是创建新数组吗 java_Java 集合,你肯定也会被问到这些

    文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 作为一位小菜 "一面面试官",面试过程中,我肯定会问 Java 集合的内容,同时作为求职者,也肯定会 ...

  10. java 数组map_Java之数组array和集合list、set、map

    之前一直分不清楚java中的array,list.同时对set,map,list的用法彻底迷糊,直到看到了这篇文章,讲解的很清楚. 世间上本来没有集合,(只有数组参考C语言)但有人想要,所以有了集合 ...

最新文章

  1. java 执行 cmd 命令(转)
  2. CSU2188: Substring
  3. 点/线/面 等 几何关系运算 的网页 推荐+备忘
  4. sql语句按月份统计查询
  5. webpack轻松入门教程
  6. 并发执行变成串行_大神浅谈数据库并发控制 锁和 MVCC
  7. 苹果13系统锁屏延迟_iPhone11 锁屏出现延迟,iOS13 新 Bug?
  8. 【Java】indexOf 方法区分大小写
  9. 企业级 布署 vmvare Esxi 5.0.0 从零开始教程 (二) vSphere clinet 安装
  10. 在构造函数中释放对象本身
  11. GB/T2659-2000《世界各国和地区名称代码》
  12. 锐捷虚拟机做服务器,笨方法解决锐捷校园网环境下VMware虚拟机无法上网问题(Fedora试用上网成功)...
  13. 英飞凌TC297 PSPR与DSPR
  14. 【PPT技巧】为PPT寻找好看的英文字体(English nice-looking font free)并安装到Windows
  15. SpringBoot整合WebSocket实现聊天室系统
  16. CS常用文件的安装 CS脚本参数查询 控制台常用参数查询
  17. 【废墟】知我者谓我心忧,不知我者谓我何求~
  18. android 360开机启动,手机360设置开机启动项
  19. photoshop读书笔记
  20. 堆与栈区别,以及分配内存的快慢

热门文章

  1. 可编程控制器有几种编程语言以及它们的特点
  2. 实景灯箱内饰与测试点
  3. oracle看起来很简单一用就不会的同列乘积函数
  4. 如何将数据库的数据展示在页面上面呢?
  5. python网络开发_python网络编程相关
  6. flask 项目启动报错:OSError OSError: [Errno 22] Invalid argument
  7. SAP之Http Rest接口发布
  8. 三星玄龙骑士电竞显示器新品Neo G9:体验再升级,开启游戏未来
  9. 关于快手如何快速拥有直播权限以及认证抖音
  10. 微信小程序授权登录获取手机号,偶尔出现41003问题