gpt4 book ai didi

java - 需要创建 Collection 实例的建议

转载 作者:行者123 更新时间:2023-11-30 05:43:53 25 4
gpt4 key购买 nike

所以我发现Collection作为一个Interface有很多子接口(interface)和子类。常见的一件事是使用接口(interface)而不是使用实际的类,这样可以提供灵 active :

List<Interger> L1 = new ArrayList<>();

但这也限制了实际Class中一些特殊方法的使用,(对于ArrayList来说,没有那么多特殊方法)。但这可以通过使用强制转换来解决。

List<Integer> L2 = ((ArrayList<Integer>) L1).clone();

但是,有趣的是 LinkedList 正在实现 CollectionListQueueDeque .

那么共同使用 LinkedList 的最佳场景是什么?

List<> L1 = new LinkedList<>();
Queue<> Q1 = new LinkedList<>();
Deque<> D1 = new LinkedList<>();
  1. 如果我使用List,那么它似乎没有必要,因为我可以使来自 ArrayListList
  2. 我是否应该始终选择仅比Class高一级的Interface,在本例中,是Deque而不是Queue

我想这只是令人困惑,因为 QueueDeque 没有实现 List,但 LinkedList 实现了。我不明白为什么会这样?

谢谢

最佳答案

根据dependency inversion principle组件应该依赖于抽象。因此,首先您需要选择最能满足您需求的抽象(例如接口(interface)或抽象类)。然后选择具体的实现。

没有适用于所有情况的最佳解决方案。

关于java - 需要创建 Collection 实例的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55168492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com