一、 List 转化成 数组

1. list.toArray();

直接将 list 转换成 Object[] 类型的 数组;

Object : 对象类,是所有类的父类

Object[]  ans1 = list.toArray();

2. list.toArray(T[] a);

输出指定类型的数组,输出的数组类型与括号中参数类型一致;

必须是包装类(String、Integer、Character等),不能是基本数据类型了(string、int、char);

// 创建数组时: int [ ] arr = new int [ ] {}; 使用的是基本数据类型

Integer[] ans2 = list.toArray(new Integer[list.size()]);

案例:

// 创建一个list,并且对list赋值
List<Integer>  list = new ArrayList<>();
for (int i = 1; i < 11; i++) {list.add(i);}//方法一:
Object[]  ans1 = list.toArray();
System.out.println("1:" + Arrays.toString(ans1));// 方法二:
Integer[] ans2 = list.toArray(new Integer[list.size()]);
System.out.println("2:" + Arrays.toString(ans2));1:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

二、数组 转换成 list

1. Arrays.asList( );

注意该方法的返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList,
它并非java.util.ArrayList类。
java.util.Arrays.ArrayList类具有set(),get(),contains()等方法,
但是不支持添加add()或删除remove()方法,调用这些方法会报错。

也就是说,此种方法残缺:重新得到的 list  不能 add( ) 或者 remove( );

// 因为list中是包装类。所以数组创建时也需要使用包装类
Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9};
List<Integer> ans1 = Arrays.asList(num);//此时得到的list 不能 使用 add() 与 remove()方法;
// 解决办法:
//    创建一个新的list 对象,将残缺的list加入进去
List<Integer> list = new ArrayList<>(ans1);

2、Collections.addAll( );(此种方法最实用)

直接创建一个新的 list 对象,然后使用Collections.addAll( ) 方法。

Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9};
List<Integer> ans2 = new ArrayList<>();
Collections.addAll(ans2,num);

JAVA:List 与 数组 相互转换相关推荐

  1. Java字符串和数组相互转换

    字符串转数组 Java.lang 包中有 String.split() 方法,Java 中通常用 split() 分割字符串,返回的是一个数组. String str = "123abc&q ...

  2. java 中数组与list_Java中List与数组相互转换实例分析

    这篇文章主要介绍了Java中List与数组相互转换的方法,实例分析了Java中List与数组相互转换中容易出现的问题与相关的解决方法,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例分析了Java ...

  3. Java中的数组与List相互转换的方法分析

    目录 一.Java中的数组转换为List的方法 1.使用Arrays.asList()方法 2.使用Collections.addAll()方法 3.使用集合的addAll()方法 4.使用Sprin ...

  4. java 中文 音序,java 中文字符串数组按照音序排列

    java 中文字符串数组按照音序排列 复制代码 代码如下: public class SortComparator implements Comparator{ public int compare( ...

  5. php 数组元素 转 变量,php变量与数组相互转换的方法(extract与compact)

    php变量与数组相互转换的方法(extract与compact) 这里有新鲜出炉的 PHP 面向对象编程,程序狗速度看过来! PHP 开源脚本语言 PHP(外文名: Hypertext Preproc ...

  6. JAVA学习笔记--数组初始化

    JAVA中,数组只是相同类型的.用一个标识符名称封装到一起的一个对象序列或基本类型数据序列.数组通过方括号下标操作符[]来定义和使用,要定义一个数组只需在类型名后面加上一个方括号即可,如: int[] ...

  7. java的byte php_java_浅谈java的byte数组的不同写法,(由于篇幅原因阐述的不够详 - phpStudy...

    浅谈java的byte数组的不同写法 (由于篇幅原因阐述的不够详细科学,不喜勿喷). 经常看到java中对byte数组的不同定义,粗略整理的一下: 一个字节(byte)=8位(bit),"b ...

  8. Java学习_day007:数组与方法

    一.数组 数组的复制 int[]a={10,20,30,40,50}; int[]b=new int[6]; //b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4 ...

  9. java 复制一个数组_浅谈Java中复制数组的方式

    在Java里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组:如果一个数组发生改变,那么引用同 ...

  10. Java进阶知识-数组类型

    前言 本来数组类型应该属于基础部分的知识,我将它写在进阶部分是因为数组既可以是基础数据类型数组,也可以是引用数据类型数组.所以我想先介绍完类与对象的基础之后,再给大家介绍数组.于是,今天这篇内容给大家 ...

最新文章

  1. Sencha touch 2 入门 -------- DataView 显示服务器端JSON文件数据
  2. 磁盘 I/O性能指标
  3. 转:运维监控系统-监控项及指标的梳理
  4. ps学习1:去除图片上的文字
  5. LeetCode 637. 二叉树的层平均值(层次遍历queue)
  6. php pdf 文字水印图片,php如何给pdf加上文字水印和图片水印[未测试]
  7. after you've written your business model
  8. java音频文件怎么打开_java 怎么读取音乐文件
  9. php 基类 是什么,PHP Model基类
  10. 江苏省计算机二级c语言考试知识点,计算机二级考试C语言常考知识点归纳
  11. SSh三大框架的作用
  12. ArcGIS操作小技巧(五)之色带-----横向(水平)图例
  13. c语言如何框出视频或图像中的车辆,视频图像中的车辆检测跟踪和分类
  14. quartusII编译时出现Error (119013): Current license file does not support the EP4CE6F17C8 device
  15. Photosho cs6安装字体教程
  16. Gossip费氏数列
  17. java对象赋值优雅写法_JavaScript优雅写法及骚操作
  18. linux根windows,linux系统刨根之路(二):实现windows和linux双系统-Go语言中文社区...
  19. 如何检测显卡类型和OpenGL版本
  20. win2003桌面图标蓝底去除

热门文章

  1. 安卓编程基础——网格布局
  2. Android 源码 Wi-Fi 连接流程分析
  3. ESP8266配网最方便快捷的库
  4. UEFI在高通平台实现
  5. pytest测试框架系列 - pytest 断言assert使用
  6. 零基础学习matlab机器人工具箱_stage1
  7. html做预约人数显示,科目一预约号数字在变,预约人数已满还能约吗
  8. 大数据的技术生态?Hadoop、Hive、Spark之间是什么关系?
  9. 难怪家里的网总不好!原来是路由器的天线摆错了!
  10. 怎样不删除聊天记录退出微信群