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 相关文章推荐
SpringCloud的JPA连接PostgreSql的教程
Jun 26 Java/Android
Spring实现内置监听器
Jul 09 Java/Android
SpringBoot+VUE实现数据表格的实战
Aug 02 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
Java面试题冲刺第十九天--数据库(4)
Aug 07 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
详解Java七大阻塞队列之SynchronousQueue
Sep 04 Java/Android
Java spring定时任务详解
Oct 05 Java/Android
JPA 通过Specification如何实现复杂查询
Nov 23 Java/Android
正则表达式拆分url实例代码
Feb 24 Java/Android
Java生成日期时间存入Mysql数据库的实现方法
Mar 03 Java/Android
Android Flutter实现图片滑动切换效果
Apr 07 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
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
php生成QRcode实例
2014/09/22 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
PHP框架性能测试报告
2016/05/08 PHP
PHP请求Socket接口测试实例
2016/08/12 PHP
农历与西历对照
2006/09/06 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
python3中set(集合)的语法总结分享
2017/03/24 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
python如何读写csv数据
2018/03/21 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
python打造爬虫代理池过程解析
2019/08/15 Python
Ubuntu权限不足无法创建文件夹解决方案
2020/11/14 Python
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
大学生实习感言
2014/01/16 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
工会经费申请报告
2015/05/15 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
教你用eclipse连接mysql数据库
2021/04/22 MySQL