基本介绍 Java对象用来解决数组存在的一些问题
1》》ArrayList
排列有序、可重复------》有序的,所以访问速度快
底层用的是数组----》ArrayList 在小于扩容容量的情况下其实增加操作效率是非常高的,在涉及扩容的情况下添加操作效率确实低,删除操作需要移位拷贝,效率是低点。(主要就是扩容麻烦)
线程不安全
2》》Vector(最早出来的)
排列有序、可重复------》有序的,所以访问速度快
底层用的是数组----》ArrayList 在小于扩容容量的情况下其实增加操作效率是非常高的,在涉及扩容的情况下添加操作效率确实低,删除操作需要移位拷贝,效率是低点。(主要就是扩容麻烦)
线程安全、效率低
3》》LinkedList
排列有序、可重复------》有序的,所以访问速度快
底层使用的事双向循环链表数据结构
使用上:随机访问速度慢,增删块
线程不安全
1》》HashSet
排列无序,不可重复
底层用的是Hash表实现
存储速度快
内部是HashMap
2》》TreeSet
有序,不可重复
底层用二叉树实现
排序存储
内部是TreeMap的
Map
键值对的形式展示出来
HashMap运行速度快
TreeMap排序
HashLinkedMap在HashMap、TreeMap之间,具备两者的优点