• Map、Set、List、Queue、Stack的特点与用法


    • Map

            提供了一个从键映射到值得数据结构。其中键不能重复,值可以重复。

            有多个实现了该接口的类:HashMap、TreeMap、LinkedHashMap等。其中,HashMap是基于散列表实现的,TreeMap是基于红黑树实现的,LinkedHashMap是基于列表来维护内部的顺序的。

    • Set

            主要特点是集合中的元素不能重复,因此存入Set的每个元素都必须定义equals()方法来确保对象的唯一性。

            该接口有两个实现类:HashSet和TreeSet。其中TreeSet实现了SortedSet接口,容器中的元素时有序的。

            只能用Iterator实现单向遍历。

            Set中没有同步方法。

    • List

            可以随机访问包含的元素。

            按对象进入的顺序保存对象。

            可以在任意位置进行插入、删除元素。

            允许重复元素。

    • Queue

            队列,FIFO(先进先出)。

            Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用element()或者peek()方法。 
    值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。

            Queue 实现通常不允许插入 null 元素,尽管某些实现(如 LinkedList)并不禁止插入 null。即使在允许 null 的实现中,也不应该将 null 插入到 Queue 中,因为 null 也用作 poll 方法的一个特殊返回值,表明队列不包含元素。

    • Stack

            栈,后进先出。

            继承自Vector,也是同步的。

  • 相关阅读:
    【大数据】Hadoop的伪分布式安装
    【运维】什么是EPEL?
    【架构】RESTful的架构思想
    【python】有关python的异或操作的分析
    【Python】有关os.path.dirname(__file__)的注意事项
    Python中字符串前添加r ,b, u, f前缀的含义
    【Confluence】在CentOS7上的安装小记(下)
    Redis应用场景
    spring的context:exclude-filter 与 context:include-filter
    Spring的<context:annotation-config>和<annotation-driven>
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/6560066.html
Copyright © 2020-2023  润新知