gpt4 book ai didi

java - 如何决定应该使用List Set中的哪个集合?

转载 作者:行者123 更新时间:2023-11-30 02:49:47 25 4
gpt4 key购买 nike

我想知道什么时候使用Set和List。应该根据什么来决定。例如,当我们处理订单应用时,我应该使用什么?列表任意 = new ArrayList<>();或者设置任意 = new HashSet();或链接列表。

最佳答案

这完全取决于您当前的要求

例如,考虑一些重要的要点

  1. 如果您想以与插入元素相同的方式访问元素,那么您应该使用 List,因为 List 是元素的有序集合。您可以使用 get(int index) 方法访问它们,而 Set 则没有此类方法。不保证它们的存储顺序。

  2. 如果您的元素包含重复项,则使用 List,因为 Set 不允许重复项,而如果您的元素是唯一的,则可以使用 设置

  3. LinkedListArrayList 而言:

    • LinkedList 速度很慢,因为它们只允许顺序访问。但是,如果您的元素大小定期变化,那么它们就很好,而如果元素的大小是固定的,那么您应该使用 ArrayList,因为它们允许快速随机读取访问,因此您可以抓取其中的任何元素。恒定时间。
    • 但是,当您需要进行大量删除操作时,ArrayList 并不适用,因为从除末尾以外的任何位置添加或删除都需要将后面的所有元素移过来。
    • 当您必须在中间插入任何内容时,
    • ArrayList 并不被认为是好的,因为如果您想在中间插入一个新元素(并保持所有元素的顺序相同),那么您就必须在插入元素的位置之后移动所有内容,而 LinkedList 中的此类操作只需要更改一些引用。

看一下几种数据结构的特点,根据你的需求,你可以决定在什么地方应该使用哪种数据结构。

另请参阅:
-When to use LinkedList over ArrayList?
-What is the difference between Set and List?
-What Java Collection should I use?
-Insertion in the middle of ArrayList vs LinkedList

关于java - 如何决定应该使用List Set中的哪个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39054671/

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