Collection接口

Collection接口

List集合(有序集合,具有索引取值,可重复集合。【元素存储和取是相同】)

数据结构

堆栈:先进后出。(弹夹添加子弹)

队列:先进先出。(过安检)

数组:查询速度快,可以通过索引查询,增删性能慢 (添加或者删除都得先建一个数组)

链表:查找慢,增删速度快(排队)

ArrayList:

1.ArrayList是通过数组实现,一旦实例化ArrayList无参构造函数默认长度是10

2.add方法添加元素时如果超出10个元素,ArrayList底层会新生一个数字长度,数字的长度是原来的1.5倍加1,然后吧原来的的数组内容添加到新的数字中,新数组无法容纳的时候会重复改过程扩容。扩容数字调用Arrays.copyof(objArr,objArr.length+1);

LinkenList

LinkeList是双向链表组成的。且头结点中不存放数据

 ArrayList:

底层数据结构是数组,查询快,增删慢

线程不安全,效率高

LinkedList:

底层数据结构是链表,查询慢,增删快

线程不安全,效率高

set集合,不可重复,没有索引(取只能用迭代器取值)

 

Set接口实现类HashMap

自身特点:(哈希值就是new出来值JVM就已经赋予十进制的数,继承父类可修改哈希值)

底层数据结构哈希表,单向链表(只能从上往下记录数据)

线程不安全集合,运行速度块

允许存储null值,null键

无序集合,存储和取出的顺序不同

为保证作为键对象的唯一性,键对象必须实现hashCode,equals方法。

Set的实现类HashSet的子类LinkedHashSet

LinkedHashSet

底层是哈希表,是双向链(双向记录数据)

有序,存储和取出是有序的

不同步 线程不安去,运行速度快

 

泛型格式:

<数据类型>

泛型可以说使用在类、接口、方法、变量上

泛型好处

1.提供了程序的安全

2、将运行期遇到的问题转移到编译器

3、省去了类型强转的麻烦

 

posted @ 2018-05-14 13:39  伸出猿手  阅读(168)  评论(0)    收藏  举报