当前位置: 首页 > 后端技术 > Java

说说Java中常用的数据结构

时间:2023-04-02 01:52:43 Java

分析解答常用的数据结构主要有以下几种从Collection和Map接口派生出来的结构:List----->(ArryList\LinkedList)Set------>(TreeSet\HashSet)Map----->(TreeMap\HashMap)ArrayList:是动态数组,擅长随机存取,使用数组存储,查询效率会更高,因为是连续地址,ArrayList需要移动数据,所以插入和删除时效率较低。LinkList:基于链表的数据结构,不需要连续的地址来开辟内存空间。对于添加或删除新节点,效率会更高。LinkList适用于需要进行头尾操作或指定位置进行插入或删除的场景。,那么,由于LinkList需要移动指针,所以查询效率会比较低。TreeSet:由二叉树(红黑树的数据结构)实现,其数据是有序的,不允许空值。HashSet:它是由哈希表实现的。HashSet中的数据是无序的。可以放空值,但只能放一个空值。两者中的值不能重复,就像数据库的主键约束一样。HashSet要求放入的对象必须实现HashCode方法,放入的对象都标有hashcode码。Hashset是基于hash算法实现的,查询效率明显高于treeset,treeSet只在需要排序的时候使用。TreeMap:基于红黑树实现,没有调优选项,因为树始终处于平衡状态。HashMap:基于Hash表的实现,使用HashMap需要添加的key类明确定义了hashCode和equals方法。反射与扩展ArrayList和LinkedList有什么区别?说说你理解的TreeMap,HashMap的底层数据结构是什么?为了让您刷题更轻松,我们对文章进行了分类整理,并为您提供免费答题服务。程序员不要骗程序员,赶紧扫码小程序刷起来吧!