一、Iterable接口
Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,拥有增强for循环。
方法:
①:hasNext() 是否存在下一项。
②:next() 获取下一项。
③:remove() 该方法删除由next()最新返回的项(next().remove())
二:Collection接口
Collection是最基本的集合接口,其继承iterable接口。
方法:
①:size() 返回集合大小。
②:isEmpty() 判断集合是是否为空。
③:contains(Object) 判断集合中是否包含某个对象
④:clear() 清除当前列表中的所有元素
⑤:add(Object) 增加
⑥:remove(Object) 从集合中删除某项
⑦:iterator() 遍历集合
三、Iterable和Collection中的remove()方法区别
①:Iterable的remove()不带参数,Collection的remove()带参数。
②:性能方面:Iterable的remove()效率更高,因为Collection采用的是单链表结构查询,效率较低,需要从集合一个一个的遍历出来。
③:容错方面:Iterable遍历时调用remove()不会报错,相反Collection会报错
四:List、Set、Map、Queue接口
①:List (继承Collection接口)
特点:可重复元素,有序(可以插入多个null)
集合:ArrayList、LinkedList (ArrayList查询速度快,LinkedList增加删除速度快)
②:Set (继承Collection接口)
特点:不可重复,无序(集合元素可以为null,但是只能放入一个null)
集合:HashSet 速度最快
TreeSet 排序保存对象 (比如:保存一组数字,它会按从大到小排序保存)
LinkedHashSet 有顺序的保存对象(比如:花名册的名单,根据xian'la先来后到有顺序的排列)
③:Map
特点:K/V形式存储对象,Key唯一不可重复,Value可重复,无序(Key只能有一个null,Value可以有多个)
集合:HashMap 速度最快,无序。
TreeMap 排序保存对象
LinkedHashMap 有顺序的保存对象
④:Queue (继承Collection接口)
特点:先进先出
五:HashMap 和 HashSet 区别
下面一张思维导图让我们能够更加方便理解和记忆