java 集合分析

collection接口实现iterable接口,list、set实现collection接口

实现iterable的类有增强for循环,提供了iterator()方法返回iterator, iterator下有hasNext()(是否有下一项),next()(获取下一个),remove()(删除next()的当前返回值)三个方法

collection接口的remove(Object)方法和iterator接口的remove()方法的区别

1. collection接口的remove(Object)需要一个一个遍历找到对象才能删除,而iterator的remove()方法是结合next()使用,所以iterable接口的remove()效率高

2. collection接口的remove(Object)会报错,iterator的remove()不会报错

1.java.util.collection接口下的集合

1.1 list 集合

可以添加重复元素,有顺序
1.1.2 ArrayList与LinkedList的区别
ArrayList get() set()效率快,添加删除效率差,LinkedList反之

1.2set集合

不保存重复元素,没有顺序
HashSet、TreeSet、LinkedHashSet的区别
HashSet效率最好,没有顺序,元素可以为null,但不能重复
TreeSet根据结果升序保存对象
LinkedHashSet根据添加顺序保存对象

2.Map集合

Map的初始容量是16,满四分三就翻倍
HashMap与TreeMap、LinkedHashMap的区别
HashMap效率好,没有顺序
TreeMap根据结果升序保存键(key)
LinkedHashMap根据添加顺序保存键(key)还有HashMap的查询速度、

你可能感兴趣的:(学习资料)