今天对于集合、map的了解 :
Iterator接口:(1).Iterator拥有增强for循环,(2).Iterator该方法分为hasNext()、next()、remove()。其中Iterator有分别(有参和无参方法)。
性能方面:(1)Collection的remove方法必须首先找出要被的项,需要从集合中一个一个遍历才能找到该对象,这样查询效率比较低。
(2)Iterator的remove方法结合next()方法使用,比如集合中每隔一项删除一项 ,删除效率更高。
容错方面:(1)在使用lterator遍历时,如果使用Clloection的rmove则会报异常,因为集合中对象的个数会改变而lterator内部对象的个数不会。
(2)在使用Iterator遍历时,不会报错,因为iterator内部的对象个数和原来集合中对象的个数会保持不一致。
List:可添加重复的元素、有序。
(1).ArrayList(常用的) 查询快,(新增、删除慢)
(2).LinkedList 新增、删除快(查询慢)
Set:不保存重复的元素、无序。
(1).HashSet(常用的) 速度快,没有保存元素顺序,集合元素可以是null,但只能放入一个null。
(2).TrreSet 按照升序来保存对象
(3).LinkedHashSet 按照新增的顺序来保存对象
Queue:先进先出 (队列)
Arrays: 数组
Map接口 :
(1).HashMap(常用的) , 提供了最快的访问技术,没有按照顺序来保存元素
(2).TrreMap 按照升序来保存键
(3).LinkHashMap 按照顺序来保存键,同时还保留了HashMap的查询速度