这周学习了集合一章,我结合搜索总结了一下知识点,如下:
1.java集合可以大致分为Set、list、map三中体系,其中set代表无序不可重复的集合;List代表有序、可以重复的集合;Map代表具有映射关系的集合。
2.集合与数组的区别:数组元素既可以是基本数据类型,也可以是对象(其实保存的是对象的引用变量)而集合元素只能是对象(其实是对象的引用变量)
3.Java集合类由两个接口派生:Collection和Map,其中Collection下主要有Set、List、Queue三个接口,而Map接口主要是各种Map接口。
4.Iterator 接口也是java集合框架的成员,但是他的主要作用用于遍历Collection元素,Iterator也被成为迭代器。
5.Iterator必须依赖于Collection对象,若有一个Iterator对象就必须有一个Collection对象,Iterator提供了两个方法来遍历Collection集合里的元素。
6.当使用Iterator来遍历Collection集合里的元素的时候,Iterator并不是把集合元素本身传递给了迭代变量,而是把集合元素的值传递给了迭代变量,对集合元素本身并没有任何的影响。
7.当使用Iterator遍历Collection元素的时候,Collection不能被改变,否则会抛出异常。
8.HashSet特点:
不能保证元素的排列顺序;HashSet不是同步的;集合元素可以是NULL。
9.LinkHashSet集合也是根据元素的hashcode值来决定元素的存储位置的,但他同时使用链表来维护元素的次序,这样是元素看起来是以插入的顺序保存的。因为LinkedHashSet需要维护元素的插入顺序,所以性能要略低于HashSet。
10.TreeSet可以确保集合元素处于排序的状态