简单了解java集合

首先我放一张前辈画的图,大家可以大致看一下,了解一下
简单了解java集合

一、集合大致分为几类:

1、List
2、Set
3、Map
ps:
1、Map与List、Set没有任何关系
2、List与Set的父接口是Collection,而Map的父接口不是Collection
3、Collection下还有一个不是经常用的Queue集合
4、Collection的父接口是Iterator

二、Iterator的remove方法与Collection的remove方法区别

1、有无值:Iterator的remove()没有值,Collection的remove(object)有值
2、性能:因为Collection的remove方法有值,所以先要找到这个值得位置才能删除,而Iterator的remove方法要结合next方法使用,它隔一项删一项,效率比较高(比较详细的解释上图中有)
3、容错:上图中有

三、List集合:

ArrayList与LinkedList的区别:
1、ArrayList是数组结构,而LinkedList是链表结构
2、ArrayList查询的速度比LinkedList查询的速度快
3、ArrayList增加删除的速度比LinkedList增加删除的速度慢

四、Set集合:

1、HashSet的速度最快
2、TreeSet有排序功能
3、LinkedHashSet有顺序

五、Queue集合

Queue是管道的意思。
大致流程:子线程通过Looper(循环)拿到Message(消息)在返回到子线程,再通过Handler(处理)给主线程。(主线程与子线程相互之间互不打扰)
简单了解java集合

六、Map集合

1、HashMap:速度最快,没有顺序
2、TreeMap:有排序功能(升序)
3、LinkedHashMap:有顺序

七、HashMap与HashSet的区别

1、HashMap实现了Map接口,HashSet实现了Set接口
2、HashMap存储键值对,HashSet存储对象
3、HashMap相当于HashSet较快
4、添加元素时HashMap是用put(),HashSet用add()

八、List、Set、Map之间的区别

1、list和set都继承Collection,map不是Collection的子接口
2、list可以有重复的值,set不能有重复的值,map是键值对,键不能重复,值可以重复
3、list可以插入多个null,set只能有一个null,map键只能有一个,值可以有多个
4、list有顺序,set没有顺序,map也没有顺序