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 相关文章推荐
浅谈Java实现分布式事务的三种方案
Jun 11 Java/Android
Java 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
SpringAop日志找不到方法的处理
Jun 21 Java/Android
Spring mvc是如何实现与数据库的前后端的连接操作的?
Jun 30 Java/Android
mybatis 获取无数据的字段不显示的问题
Jul 15 Java/Android
java泛型通配符详解
Jul 25 Java/Android
spring boot中nativeQuery的用法
Jul 26 Java/Android
Spring事务管理下synchronized锁失效问题的解决方法
Mar 31 Java/Android
Java 获取Word中所有的插入和删除修订的方法
Apr 06 Java/Android
Android Flutter实现图片滑动切换效果
Apr 07 Java/Android
解决springboot druid数据库连接失败后一直重连的方法
Apr 19 Java/Android
Spring Boot 使用 Spring-Retry 进行重试框架
Apr 24 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
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
JS寄快递地址智能解析的实现代码
2020/07/16 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
Python构造函数及解构函数介绍
2015/02/26 Python
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
使用Python的package机制如何简化utils包设计详解
2017/12/11 Python
python的dataframe转换为多维矩阵的方法
2018/04/11 Python
Python异常处理操作实例详解
2018/05/10 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
Django权限设置及验证方式
2020/05/13 Python
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
mysql有关权限的表都有哪几个
2015/04/22 面试题
趣味运动会活动方案
2014/02/12 职场文书
建筑安全生产责任书
2014/07/22 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
数学教师个人总结
2015/02/06 职场文书
会计求职信怎么写
2015/03/20 职场文书