相关疑难解决方法(0)

何时在Java中使用LinkedList而不是ArrayList?

我一直只是一个人使用:

List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.

何时应该LinkedList使用,ArrayList反之亦然?

java collections linked-list arraylist

2974
推荐指数
27
解决办法
102万
查看次数

在Java中键入List vs type ArrayList

(1) List<?> myList = new ArrayList<?>();

(2) ArrayList<?> myList = new ArrayList<?>();
Run Code Online (Sandbox Code Playgroud)

我理解,使用(1),可以交换List接口的实现.似乎(1)通常在应用程序中使用而不管需要(我自己总是使用它).

我想知道是否有人使用(2)?

此外,经常(并且我可以得到一个例子)情况实际上需要使用(1)over(2)(即where(2)不足以对接口最佳实践等进行编码)

java interface list decoupling

537
推荐指数
11
解决办法
39万
查看次数

为什么要首选Java类的接口?

PMD将报告违规行为:

ArrayList<Object> list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

违规是"避免使用像'ArrayList'这样的实现类型;而是使用接口".

以下行将更正违规行为:

List<Object> list = new ArrayList<Object>();
Run Code Online (Sandbox Code Playgroud)

为什么要使用后者List而不是ArrayList

java collections interface

71
推荐指数
4
解决办法
2万
查看次数