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 26 Java/Android
浅谈Java父子类加载顺序
Aug 04 Java/Android
简述Java中throw-throws异常抛出
Aug 07 Java/Android
alibaba seata服务端具体实现
Feb 24 Java/Android
SpringCloud Feign请求头删除修改的操作代码
Mar 20 Java/Android
Spring依赖注入多种类型数据的示例代码
Mar 31 Java/Android
Java实战之课程信息管理系统的实现
Apr 01 Java/Android
Java 超详细讲解十大排序算法面试无忧
Apr 08 Java/Android
零基础学java之循环语句的使用
Apr 10 Java/Android
Java版 简易五子棋小游戏
May 04 Java/Android
Java实现注册登录跳转
Jun 16 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
Sep 23 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嵌套输出缓冲代码实例
2015/05/12 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
javascript fullscreen全屏实现代码
2009/04/09 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
基于jquery的商品展示放大镜
2010/08/07 Javascript
jQuery源码分析-01总体架构分析
2011/11/14 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
详解JS: reduce方法实现 webpack多文件入口
2017/02/14 Javascript
JavaScript的继承实现小结
2017/05/07 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
利用jquery和BootStrap实现动态滚动条效果
2018/12/03 jQuery
微信小程序云开发修改云数据库中的数据方法
2019/05/18 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Python 列表list使用介绍
2014/11/30 Python
python字典基本操作实例分析
2015/07/11 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
Python使用type动态创建类操作示例
2020/02/29 Python
Python实现数字的格式化输出
2020/08/01 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
技校教师求职简历的自我评价
2013/10/20 职场文书
产品销售员岗位职责
2013/12/18 职场文书
车祸赔偿收入证明
2014/01/09 职场文书
公司地址变更通知
2015/04/25 职场文书
贷款工作证明模板
2015/06/12 职场文书
2019秋季运动会口号
2019/06/25 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL