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实现聊天机器人完善版
Jul 04 Java/Android
spring cloud gateway中如何读取请求参数
Jul 15 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
Java spring定时任务详解
Oct 05 Java/Android
深入解读Java三大集合之map list set的用法
Nov 11 Java/Android
springmvc直接不经过controller访问WEB-INF中的页面问题
Feb 24 Java/Android
Java十分钟精通进阶适配器模式
Apr 06 Java/Android
springboot用户数据修改的详细实现
Apr 06 Java/Android
Spring Data JPA框架Repository自定义实现
Apr 28 Java/Android
SpringBoot使用ip2region获取地理位置信息的方法
Jun 21 Java/Android
MyBatis XPathParser解析器使用范例详解
Jul 15 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 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获取类中常量,属性,及方法列表的方法
2009/04/09 PHP
PHP写的资源下载防盗链类分享
2014/05/12 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
PHP设计模式之模板模式定义与用法详解
2018/12/20 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
js的with语句使用方法
2007/09/21 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
微信小程序绑定手机号获取验证码功能
2019/10/22 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
python处理xml文件的方法小结
2017/05/02 Python
OpenCV 模板匹配
2019/07/10 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python sorted函数原理解析及练习
2020/02/10 Python
Python如何转换字符串大小写
2020/06/04 Python
如何卸载python插件
2020/07/08 Python
Python 内存管理机制全面分析
2021/01/16 Python
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
商场拾金不昧表扬信
2014/01/13 职场文书
六一儿童节活动总结
2014/08/27 职场文书
太空授课观后感
2015/06/17 职场文书
监护人证明
2015/06/19 职场文书
python实现的web监控系统
2021/04/27 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python