首页 > Java > java教程 > Java 中的 List 与 ArrayList:我什么时候应该使用哪个?

Java 中的 List 与 ArrayList:我什么时候应该使用哪个?

DDD
发布: 2024-12-20 14:20:17
原创
246 人浏览过

List vs. ArrayList in Java: When Should I Use Which?

Java 中的类型 List 与类型 ArrayList [重复]

在 Java 编程中,使用集合时,您可能会遇到两种相似但不同的类型声明:

(1) List<?> myList = new ArrayList<?>();
(2) ArrayList<?> myList = new ArrayList<?>();
登录后复制

为什么使用类型列表?

两种方法都使用通配符?,首选是将myList声明为List,而不是ArrayList。这是因为列表引用允许更高级别的灵活性和可扩展性。

列表类型的优点:

  • 代码可重用性: 它允许交换 List 接口的不同实现,例如 LinkedList 或 Vector,而无需修改其余部分
  • 面向未来:如果将来有更新、更高效的 List 实现可用,您可以无缝切换到它,而不会破坏现有代码。
  • 一致性:它遵循“接口编程”原则,促进软件更具凝聚力

何时使用 ArrayList 类型?

而 List>通常是更可取的,但在某些情况下您可以考虑使用 ArrayList相反:

  • 实现的强保证:如果您绝对确定 ArrayList 将始终被使用并且永远不需要更改,您可以选择此声明。但是,这种方法限制了灵活性,并使未来任何潜在的代码修改变得更加困难。

示例

考虑以下示例:

public class Example {

    public static void main(String[] args) {
        // Initialize using type List
        List<?> list = new ArrayList<>();

        // Add elements to the list
        list.add("One");
        list.add("Two");

        // Iterate over the list (can only access elements using Object type)
        for (Object element : list) {
            System.out.println(element);
        }

        // Downcast to ArrayList (not recommended)
        ArrayList<?> arrayList = (ArrayList<?>) list;

        // Access ArrayList-specific methods
        System.out.println("ArrayList size: " + arrayList.size());
    }
}
登录后复制

在此示例中,使用列表>允许我们添加和迭代元素,但我们无法访问 ArrayList 特定的方法。为此,我们需要将 list 显式转换为 ArrayList,通常不建议这样做,因为它会引入潜在的转换错误。

以上是Java 中的 List 与 ArrayList:我什么时候应该使用哪个?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板