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<Integer>
并将方法调用的结果分配给它。
【讨论】:
不,asList
返回一个实际上是Arrays.ArrayList
的列表。这是一个私有类,与java.util.ArrayList
不同。
啊,好吧。这就是我在回答问题之前没有查看文档的结果。我可能应该删除这个答案。【参考方案3】:
它应该可以工作
ArrayList<Integer> f = new ArrayList(Arrays.asList(values));
我使用 eclipse 作为编辑器。
【讨论】:
您的代码可以编译,但它是错误的。 OP 有一个int[]
。这只会编译,因为您有一个原始类型,如果您尝试从列表中获取任何内容,您将获得 ClassCastException。以上是关于java怎么用一行代码初始化ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
ArrayList 对象正在返回 java android 中 ListView 上的一行
问下各位啊,在java中怎么用point数组初始化ArrayList.有问题的代码:
用java编写一个应用程序:要求用户输入一系列字符串,每个字符串占一行 ? 求高手帮忙。。。