当前位置: 首页 > 面试题库 >

声明列表有什么区别 vs ArrayList?

殷承恩
2023-03-14
问题内容
List<Integer> mylist = new ArrayList<Integer>();

ArrayList<Integer> mylist2 = new ArrayList<Integer>();

我想知道java集合API中上述两者之间的实际区别是什么。我是Java Collections
API的新手。我知道List是ArrayList类实现的接口。


问题答案:

在你的声明1,因为你是指mylist因为List<Integer>虽然它仍然是ArrayList<Integer>
因此你可以使用在可用的方法List唯一接口如果您正在使用跨class.method功能,这是更好的声明。

同样,任何接受方法List<Integer>都可以接受任何实现类,List例如LinkedList<Integer>或您的自定义实现类。

您的第二条语句创建并ArrayList<Integer>仅引用该对象。某些人更倾向于mylist在方法中本地使用它。



 类似资料:
  • %1有编译器错误,而%2是合法的。 为什么变量声明的类型必须与我们传递给对象类型的类型匹配(不允许派生类型)?我使用的数组如下所示,这是完全正确的: 有人能告诉我为什么集合必须声明为条件2吗?谢谢

  • 本文向大家介绍函数声明与函数表达式有什么区别?相关面试题,主要包含被问及函数声明与函数表达式有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 函数声明 function fn() { ///... } 函数表达式 const aa = function() { ///... } 区别: 1.函数声明,函数名必须有,在函数表达式中可以省略函数名 2.函数声明会被预解析,函数表达式不会

  • 问题内容: 两者的含义使我难以理解。 问题答案: 甲声明引入的标识符和描述了它的类型,无论是类型,对象,或功能。声明是编译器需要接受对该标识符的引用的内容。这些是声明: 甲定义实际实例化/器具该标识符。这是什么样的连接器需要以链接引用这些实体。这些是与上述声明相对应的定义: 可以使用定义代替声明。 可以根据需要多次声明标识符。因此,以下内容在C和C ++中是合法的: 但是,必须定义一次。如果忘记定

  • 问题内容: 我对这两个词感到非常困惑。我检查了stackoverflow,对于C ++有一个类似的问题,但对于Java没有。 有人可以解释一下Java的两个术语之间的区别吗? 问题答案: 概念上的区别很简单: 声明 :您 声明的 是某些东西,例如类,函数或变量。你不说任何事情 什么 是类或函数的样子,你刚才说,它的存在。 定义 :您 定义 某种事物的实现方式,例如类,函数或变量,即您说的 是 实际

  • 在TypeScript中,当创建.d.ts源代码声明文件时,哪个更可取,为什么? 或 我能说出的区别是接口不能有静态方法,所以你必须为此使用一个类。两者都不产生任何JS输出,所以也许没关系?

  • 问题内容: 有什么不同? 元组/列表的优点/缺点是什么? 问题答案: 除了元组是不可变的之外,还应有语义上的区别来指导它们的使用。元组是异构数据结构(即,它们的条目具有不同的含义),而列表是同类序列。元组具有结构,列表具有顺序。 使用这种区别可以使代码更加明确和易于理解。 一个示例是成对的页和行号,以指向一本书中的参考位置,例如: 然后,您可以将其用作字典中的键来存储有关位置的注释。另一方面,列表