LIst,Set和Map

list和Map是两种数据结构。
1.list是对象集合,允许对象重复。继承自Collection。不排序,按对象进入的顺序保存。

List接口有三个实现类:LinkedList,ArrayList,Vector 

 

 ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢;
Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差.
而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快,查询慢。

 

2.Map是键值对的集合,key不能重复,value可重复。 有内置的排序方法。
Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,
或者一组key-value映射。 


3.Set特点:集合,无序,不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)。加入Set元素用equals()方法判断元素是否重复。

猜你喜欢

转载自2514313567.iteye.com/blog/2320445