欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java集合的数据结构

程序员文章站 2022-07-13 16:14:17
...

 

String[]: 数组    固定长度
  ArrayList<E>: Object[] 数组实现    查询快、插入快、删除慢      有序    1.5倍+1扩容


  LinkedList<E>: Entry<E> next、previous 链表实现  插入快、删除快     有序  1.5倍+1扩容


  HashMap<K,V>: 数组+链表实现  通过key-value对存储数据,查询快 、插入快、删除快;  如果键相同,就替换旧值     无序  2倍扩容


  HashSet<E>: 使用HashMap<E,Object>实现   用了键值    无序   2倍扩容
  LinkedHashSet 继承了HashSet
  LinkedHashMap 继承了HashMap


  TreeMap 二叉树             插入慢、查询快         有序(键)  键的排序需要提供comparator
  
  HashMap的键K:   在hash(K.hashcode())  用到了键的hashcode
               在get()时用到了键的equals()方法
      在使用HashMap时,如果键是一个对象需要重写hashcode()、equals()方法

相关标签: 数据结构