list与SetMap区别及适用场景

Posted frankyou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list与SetMap区别及适用场景相关的知识,希望对你有一定的参考价值。

 

1、List,Set都是继承自Collection接口,Map则不是

2、List特点:

元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set 的Object必须定义equals()方法 ,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要的值。)

3.Set和List对比:

Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

4.Map适合储存键值对的数据

5.线程安全集合类与非线程安全集合类
LinkedList、ArrayList、HashSet、HashMap、StringBuilder是非线程安全的
Vector、HashTable、StringBuffer是线程安全的。




以上是关于list与SetMap区别及适用场景的主要内容,如果未能解决你的问题,请参考以下文章

list set map区别及适用场景

java集合 list与SetMap区别

集合的区别

Socket请求和Http请求的各自特点区别及适用场景

Socket请求和Http请求的各自特点区别及适用场景 (转)

Java中Map,List与Set的区别