如何将Array转换为List?

本教程展示了在Java中将数组转换为列表的几种方法。让我们开始吧!

Arrays.asList

可以使用 Arrays.asList() 方法, 该方法接受一个数组作为输入,并返回一个列表作为输出。

public static List<String> convertArrayToListAsList(String[] names)
{
    List<String> namesLst = Arrays.asList(names);
    return namesLst;
}

使用此方法的限制是它返回到一个固定大小的列表。你可以读取和覆盖它的元素;但是,如果您试图从返回的列表中添加/删除元素,就会得到UnsupportedOperationException。

值得一提的是,修改列表中的元素会影响原始数组。简而言之,此方法仅用于生成只读列表。

使用Arrays.asList()方法,生成一个可修改的List Using

为了支持在使用array . aslist()时从生成的列表中添加/删除元素,可以从结果中初始化一个完全独立的列表。这可以在下面的例子中看到:

List<String> namesLst = new ArrayList<String>(Arrays.asList(names));

Java 8

使用Java 8,您可以使用arres .stream()和collections . tolist()实用工具方法将数组转换为列表。

public static List<String> convertArrayToListJava8(String[] names)
{
    List<String> namesLst = Arrays.stream(names).collect(Collectors.toList());
    return namesLst;
}

Arrays.stream() 将数组转换为流。然后将该流转换为列表 Collectors.toList().

返回列表的默认类型是 ArrayList. 要确定需要生成的列表类型,可以使用以下内容:

Collectors.toCollection(LinkedList::new)

传统的方法

您还可以通过遍历数组元素并填充一个元素来手动执行转换 ArrayList.

private static List<String> convertArrayToListManually(String[] names)
{
    List<String> namesLst = new ArrayList<String>();
    for(String name : names)
    {
        namesLst.add(name);
    }
    return namesLst;
}

原文发布于微信公众号 - 程序你好(codinghello)

原文发表时间:2018-07-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏石奈子的Java之路

原 JVM基础命令

28570
来自专栏技术记录

JavaBean转Map方法

Map<String, Object> fieldMap =new HashMap<String, Object>(); BeanInfo beanInfo ...

45060
来自专栏Java 源码分析

Java泛型

1.java泛型及就是在jdk1.5之后出现的一个新的安全机制 我们发现在集合框架中我们可以放入任何的元素,然而这样做并没有任何意义,绝大多时候我们是默认我...

45440
来自专栏前端儿

JS实现简易的计算器

自认脑袋不够大,就实现一个普通版本的吧(支持正负数加减乘除等基本连续的运算,未提供括号功能)

1.1K10
来自专栏小白的技术客栈

Python基础语法-内置数据结构之元组

今天给大家讲解Python的内置数据结构元组。前面的内容大家有没有复习呢? 元组的特点:不可变的列表,但是可哈希的。列表是不可哈希的。 元组创建及使用 使用()...

365120
来自专栏闻道于事

Java之字符串String,StringBuffer,StringBuilder

String类: String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。在Java中用String类的...

43950
来自专栏从零开始学 Web 前端

从零开始学 Web 之 ES6(二)ES5的一些扩展

打印结果:Obj2下面的__proto__指向的原型对象中有Obj1的属性,相当于继承了Obj1属性。

11450
来自专栏java学习

面试题66(StringBuffer)

面试例题1:对于如下代码,以下哪一个结论是正确的? public class Foo { public static void main(String[] ...

30040
来自专栏Script Boy (CN-SIMO)

Java中的字符串

  Java语言中,把字符串作为对象来处理,类String就可以用来表示字符串(类名首字母都是大写的)。 1.字符串常量 字符串常量是用双引号括住的一串字符。...

25800
来自专栏数据结构与算法

3138 栈练习2

3138 栈练习2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Descriptio...

29060

扫码关注云+社区

领取腾讯云代金券