集合——list简单总结

一.介绍list

1.什么是list?

list是一个有序的序列(collection),它是一个接口,继承了collection,因此了除了包含父类的方法以外,还有专属的方法。

list有三个子类,分别是:ArrayList、linkedlist、vector。

 

2.list与数组有什么区别呢?

从操作角度:

数组查询快,增删慢。

list增删快,查询慢。

从存储类型:

数组只能存储1种类型(基本类型引用类型),而list可以存储多种类型(基本类型引用类型)。

 

二.介绍栈和队列

栈的特点:先进后出,查询快,增删满

举例:弹夹

分析图:

栈操作数据时,通过地址值获取内存数据。

 队列特点:先进先出,增删快,查询慢

举例:排队

分析图:

三.数组与链表存储方式

数组的存储

 

查询33这个元素,直接数组名[索引],即:array[1]就能得到33这个元素

删除33  

1.33前的元素,不变

2.33这个元素,不存储

3.33后的把以前的位置-1,存到新数组中。麻烦

 

链表:由一个链子将多个节点连起组成的数据。

节点包括:数据和地址组成(指针域和数据域)

内存图:

 

四.List三个子类的区别和应用场景

Vector:底层是数组,查询快,增删慢

Arraylist:底层是数组,查询块,增删慢

LinkedList:底层是链表,查询慢,增删快

效率:

Vector:线程同步(安全),效率低

ArrayList:线程不同步(不安全),效率高

它用来代替Vector的。

LinkedList:线程不安全,效率高

posted @ 2017-08-31 23:10  测试小白鼠  阅读(784)  评论(0编辑  收藏  举报