---------------------- ASP.Net+Android+IOS开发 、 .Net培训 期待与您交流! ----------------------
1. 对于实现了List接口的集合对象时,当并发的对同一组元素进行操作时,最好用ListIterator
2. ArrayList的初始容量为10,它的内部封装了一个可变长度数组
若容量不够则会创建一个新的数组,长度是10*15%=15
3. Vectory的初始容量也是10,延长后会变成20
4. contains() 和 remove() 方法底层调用的都是equals()方法
5. 定义一个类需要往set集合中存储的时候,为了提高比较的效率,一般都需要覆盖hashCode()和equals()方法
6. ArrayList删除元素和判断元素是否存在只依赖equals() 而HashSet依赖hashCode() 和 equals()
7. TreeSet集合可以对存储的元素进行排序,故往TreeSet集合中存储的元素必须具有比较性
8. 字符串排序需要比较,比较需要调用compareTo(String s)方法
9. 二叉树都是通过return 0或1或 -1来比较元素是否相同
10. 泛型可以用在类上,方法上
11. 泛型中? 代表的是占位符,没有明确的类型,而T可以代表一个具体的类型
12. 泛型限定有2个限制:一个是上限,一个是下限
13. 泛型限定是用于泛型扩展用的
14. ? 通配符(占位符)
泛型的限定:
? extends E:可以接收E类型或者E的子类型。上限
? super E:可以接收E类型或者E的父类型。下限
15. HashSet的add方法的返回值是boolean类型,而HashMap的put方法的返回值是V
V代表的是第一次向Map集合中存储的原来的那个值;
对与Map集合而言,存储相同的Key Value对,若键相同,则值覆盖
例如:System.out.println(map.put(“01”,”zhangsan01”)); //null
System.out.println(map.put(“01”,”wangwu”)); // zhangsan01
16. 用static修饰的接口是内部接口,Entry就是Map的一个子接口
17. Map.Entry是Map中的映射关系对象,此接口包含Key Value对可以通过Map.Entry对象进行获取
18. Entry接口为什么要定义在Map接口的内部
Entry接口中定义了用来描述Map接口中的key value对的映射规则
故Entry接口定义在了Map接口的内部,具体的规则由具体的子类来实现
19. 若元素存储到哈希表中则要复写hashCode()和equals()
20. 若元素存储到二叉树中则要复写compareTo(T o) 或 compare(T o1 T o2)方法
21. 对单列集合进行排序用TreeSet,对双列集合进行排序用TreeMap
22. TreeSet的底层数据结构用的是TreeMap,TreeMap只对存储元素的key进行排序
实现元素排序有2种方式,一种是让元素自身具备比较性,一种是让集合具备比较性
让元素自身具备比较性,需要让元素实现Comparable接口,让集合具备比较性需要自定义一个比较器,并实现Comparator接口
23. 泛型里面接收的都是引用数据类型
24. 集合变数组:Collection接口的 <T> T[ ] toArray(T a)方法
25. 数组变集合:Arrays类的<T> List<T> asList(T… a)方法
26. import static java.util.Arrays.*;//导入的是Arrays这个类中所有的静态成员
27. 方法的可变参数在使用时需注意:可变参数一定要定义在参数列表最后面
---------------------- ASP.Net+Android+IOS开发 、 .Net培训 期待与您交流! ----------------------
详细请查看:http://edu.csdn.net