java集合的数据结构

本文详细介绍了Java集合框架中几种常用的数据结构,包括ArrayList、LinkedList、HashMap、HashSet等的特点及应用场景。对比了它们在查询、插入、删除操作上的性能差异,并解释了HashMap内部的工作原理。
摘要由CSDN通过智能技术生成

 

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()方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值