Java 数组内置函数toArray详解


Posted in Java/Android onJune 28, 2021

java.util.List中的toArray函数

java.util.List<E> @NotNull 
public abstract <T> T[] toArray(@NotNull T[] a)
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. If the list fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the runtime type of the specified array and the size of this list.
If the list fits in the specified array with room to spare (i.e., the array has more elements than the list), the element in the array immediately following the end of the list is set to null. (This is useful in determining the length of the list only if the caller knows that the list does not contain any null elements.)
Like the toArray() method, this method acts as bridge between array-based and collection-based APIs. Further, this method allows precise control over the runtime type of the output array, and may, under certain circumstances, be used to save allocation costs.
Suppose x is a list known to contain only strings. The following code can be used to dump the list into a newly allocated array of String:
 
     String[] y = x.toArray(new String[0]);
 
Note that toArray(new Object[0]) is identical in function to toArray().

Overrides:
toArray in interface Collection
Params:
a ? the array into which the elements of this list are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
Type parameters:
<T> ? the runtime type of the array to contain the collection
Returns:
an array containing the elements of this list
Throws:
ArrayStoreException ? if the runtime type of the specified array is not a supertype of the runtime type of every element in this list
NullPointerException ? if the specified array is null
External annotations:
Abstract method toArray: @org.jetbrains.annotations.NotNull
Parameter a: @org.jetbrains.annotations.NotNull

翻译
java.util.List @NotNull

public abstract T[] toArray(@NotNull T[] a)

返回一个包含列表中所有元素的数组(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则在其中返回该列表。否则,将使用指定数组的运行时类型和该列表的大小分配一个新数组。

如果列表适合指定的有空间的数组(即,数组的元素比列表的多),则紧挨着列表末尾的数组中的元素被设为null。(只有当调用者知道列表不包含任何空元素时,这在确定列表的长度时才有用。)

与toArray()方法一样,该方法充当基于数组和基于集合的api之间的桥梁。此外,这种方法允许精确控制输出数组的运行时类型,在某些情况下,可以用于节省分配成本。

假设x是一个只包含字符串的列表。下面的代码可以用来将列表转储到一个新分配的String数组中:

String[] y = x.toArray(new String[0]);

注意toArray(新对象[0])在函数中与toArray()相同。

覆盖:

toArray在接口集合

参数:

A -如果列表足够大,则存放列表中所有元素的数组;否则,将为此目的分配相同运行时类型的新数组。

类型参数:

-包含集合的数组的运行时类型

返回:

一个包含此列表元素的数组

抛出:

如果指定数组的运行时类型不是这个列表中每个元素的运行时类型的超类型,则会产生ArrayStoreException异常

NullPointerException -如果指定的数组为空

外部注释:

抽象方法:@org.jetbrains.annotations.NotNull

参数:@org.jetbrains.annotations.NotNull

public static void main(String[] args) {
    List<Double> asList = new ArrayList<Double>() {
        //使用匿名内部类来初始化。
        {
            add(35.6);
            add(3.2);
            add(90.);
        }
    };
    Double []sumVenderNumArray = new Double[]{333333.34,999.9,93.45,23.4,33.};
    Double [] sumVenderNumNum = asList.toArray(sumVenderNumArray);
    System.out.println(JSONObject.toJSONString(sumVenderNumNum));

}

运行结果:

Java 数组内置函数toArray详解

到此这篇关于Java 数组内置函数toArray详解的文章就介绍到这了,更多相关Java toArray解析内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
浅谈Python魔法方法
Jun 28 Java/Android
使用Springboot实现健身房管理系统
Jul 01 Java/Android
详细了解java监听器和过滤器
Jul 09 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
SpringBoot SpringEL表达式的使用
Jul 25 Java/Android
关于maven依赖 ${xxx.version}报错问题
Jan 18 Java/Android
MyBatis配置文件解析与MyBatis实例演示
Apr 07 Java/Android
Android开发实现极为简单的QQ登录页面
Apr 24 Java/Android
Android 界面一键变灰 深色主题工具类
Apr 28 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Spring Cloud OAuth2实现自定义token返回格式
Jun 25 Java/Android
httpclient调用远程接口的方法
Aug 14 Java/Android
Java集成swagger文档组件
死磕 java同步系列之synchronized解析
Jun 28 #Java/Android
利用Java设置Word文本框中的文字旋转方向的实现方法
Springboot集成阿里云OSS上传文件系统教程
简单总结SpringMVC拦截器的使用方法
SpringBoot实现异步事件驱动的方法
Jun 28 #Java/Android
Spring整合Mybatis的全过程
Jun 28 #Java/Android
You might like
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
phplot生成图片类用法详解
2015/01/06 PHP
php关联数组快速排序的方法
2015/04/17 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
laravel 多图上传及图片的存储例子
2019/10/14 PHP
PHP实现倒计时功能
2020/11/16 PHP
firefox中用javascript实现鼠标位置的定位
2007/06/17 Javascript
JTrackBar水平拖动效果
2007/07/15 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
nodejs 实现模拟form表单上传文件
2014/07/14 NodeJs
javascript实现完美拖拽效果
2015/05/06 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
基于zepto的移动端轻量级日期插件--date_picker
2016/03/04 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
Vue项目中添加锁屏功能实现思路
2018/06/29 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
Python编程判断这天是这一年第几天的方法示例
2017/04/18 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
2020/08/03 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
端午节活动总结
2014/08/26 职场文书
简爱读书笔记
2015/06/26 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers