java怎么用一行代码初始化ArrayList

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么用一行代码初始化ArrayList相关的知识,希望对你有一定的参考价值。

很多种方式都可以实现.下面写了个一个简单的参考代码. 有三种方案.

import java.util.ArrayList;
import java.util.Arrays;


public class Test 
public static void main(String[] args) 
//方案一: 比较传统的初始化和添加元素 [推荐]
ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(6);// 添加元素
list1.add(2);
list1.add(8);
System.out.println(list1);

//方案二: 在构造时,传入参数,初始化并添加元素
ArrayList<Integer> list2 = new ArrayList<Integer>(Arrays.asList(6,2,8));// 初始化并添加ary数组里的元素进去
System.out.println(list2);

//方案三:双大括号初始化 , 添加元素 [不推荐, 效率低下,速度稍慢]
ArrayList<Integer> list3 = new ArrayList<Integer>() 

add(6);
add(2);
add(8);

;
System.out.println(list3);


参考技术A ArrayList<String> places = new ArrayList<String>(Arrays.asList("B", "C", "L"));这样可以吗?感觉没有更好的方法了!

Java中的Arraylist和数组

【中文标题】Java中的Arraylist和数组【英文标题】:Arraylist and arrays in Java 【发布时间】:2014-03-24 13:51:18 【问题描述】:

我正在尝试用 java 做一些基本的事情。我知道怎么做数组,但不知道 ArrayList。

" 编写一条 Java 语句,声明并初始化一个名为 values 的整数的 ArrayList"

对于一个简单的数组,我使用了int [] values ;

到目前为止,我已经想出了这个,但我不确定它是否正确。

new ArrayList<Integer>(Arrays.asList(values));

【问题讨论】:

你在问什么?您是否尝试过在课堂上编写并编译然后运行它?它符合您的预期吗? ***.com/questions/2760995/… 【参考方案1】:

这是您将如何初始化整数命名值的 ArrayList:

List<Integer> values = new ArrayList<Integer>();

ArrayList 实现List 接口并扩展AbstractList

数组列表以初始大小创建。当超过这个大小时,集合会自动放大。移除对象后,数组可能会缩小。

我建议在 ArrayLists 上查看tutorial,因为它们在现实世界中经常使用,并且您应该了解 ArrayList 类附带的一些方法。

Source

【讨论】:

我想你忘记了 > 在第一个整数之后。谢谢你的帮助。【参考方案2】:

几乎是对的。但是Arrays.asList()返回一个ArrayList,所以你所要做的就是声明一个ArrayList&lt;Integer&gt;并将方法调用的结果分配给它。

【讨论】:

不,asList 返回一个实际上是Arrays.ArrayList 的列表。这是一个私有类,与java.util.ArrayList 不同。 啊,好吧。这就是我在回答问题之前没有查看文档的结果。我可能应该删除这个答案。【参考方案3】:

它应该可以工作

ArrayList<Integer> f = new ArrayList(Arrays.asList(values));

我使用 eclipse 作为编辑器。

【讨论】:

您的代码可以编译,但它是错误的。 OP 有一个int[]。这只会编译,因为您有一个原始类型,如果您尝试从列表中获取任何内容,您将获得 ClassCastException。

以上是关于java怎么用一行代码初始化ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

在一行中初始化 ArrayList

ArrayList 对象正在返回 java android 中 ListView 上的一行

问下各位啊,在java中怎么用point数组初始化ArrayList.有问题的代码:

用java编写一个应用程序:要求用户输入一系列字符串,每个字符串占一行 ? 求高手帮忙。。。

请教Java 大神一行代码:“<? extends T>”的用法是啥?

java 如何在控制台显示完一行输出后换行再显示下一行