zoukankan      html  css  js  c++  java
  • 集合的类型与各自的特性

    Collection: 单列集合        

     

    1.List 有存储储顺序, 可重复

    • ArrayList:    数组实现, 查找快, 增删慢,由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢。数组是可以直接按索引查找, 所以查找时较快
    • LinkedList:   链表实现, 增删快, 查找慢由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增删效率较高但查询时需要一个一个的遍历, 所以效率较低
    • Vector:   和ArrayList原理相同, 但线程安全, 效率略低 和ArrayList实现方式相同, 但考虑了线程安全问题, 所以效率略低

     2.Set: 无存储顺序, 不可重复

    • HashSet   线程不安全,存取速度快。底层是以哈希表实现的。
    • TreeSet   红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象返回值为0,那么元素重复。

    3.Map: 键值对   键不可重复,值可以重复

    • HashMap    线程不安全,存取速度快。底层是以哈希表实现的.
    • TreeMap   红-黑树的数据结构,默认对元素进行自然排序(String)。如果在比较的时候两个对象 返回值为0,那么元素重复
    • HashTable  底层也是使用了哈希表 维护的,存取的读取快,存储元素是无序的。
  • 相关阅读:
    构建之法阅读笔记04
    学习进度条10
    描绘用户场景并将典型用户和用户场景描述
    学习进度条09
    构建之法阅读笔记03
    学习进度条08
    每日站立会议10(完成)
    每日站立会议09
    团队成员细节工作项估计
    JS实现全选、不选、反选
  • 原文地址:https://www.cnblogs.com/loaderman/p/9993107.html
Copyright © 2011-2022 走看看