Java中的Arraylist和数组

4

我正在尝试使用Java进行一些基本操作。我知道如何使用数组,但不知道如何使用ArrayList。

“编写一个单独的Java语句,声明并初始化一个名为values的整数ArrayList”

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

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

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

1
你在问什么?你有尝试过将其写入类中并进行编译,然后运行它吗?它是否达到了你的期望? - SimonC
https://dev59.com/BXE85IYBdhLWcg3wejZO - Jason White
3个回答

2
这是如何初始化一个名为values的整型ArrayList的方法:
List<Integer> values = new ArrayList<Integer>();

ArrayList实现了List接口并扩展了AbstractList类。
引用块: 数组列表是使用初始大小创建的。当超过此大小时,集合会自动扩大。当对象被移除时,数组可能会缩小。
我建议您阅读有关ArrayList的tutorial,因为它们在现实世界中经常使用,您应该了解一些伴随ArrayList类的方法。 来源

我认为您在第一个整数后面忘记了>。谢谢您的帮助。 - Ron00sss

0

它应该工作

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

我使用Eclipse作为编辑器。


你的代码编译通过了,但是它是错误的。OP 有一个 int[]。这仅编译是因为你使用了原始类型,如果你尝试从列表中获取任何内容,你将会得到一个 ClassCastException。 - Radiodef

0
几乎正确。但是Arrays.asList() 返回一个ArrayList,所以你只需要声明一个ArrayList<Integer>并将方法调用的结果赋值给它即可。

不是的,asList 返回的是一个列表,实际上是一个 Arrays.ArrayList。这是一个私有类,不同于 java.util.ArrayList - Radiodef
啊,好吧。这就是我在回答问题之前没有查阅文档的后果。我应该删除这个答案。 - Epiglottal Axolotl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接