对象与集合
1 . equals(),hashCode(),toString() 方法前的访问修饰符都是public;如下形式的重叠是非法的如:classBoo {
public boolean equals(Boo b) { }
}//因为该方法改变了equals方法的参数(本来应该是对象类型(objectb));
2 . 如果两个对象相等,那么他们的hash码(hashcode)也肯定相等。
3 . 注意区分:Collection只是一个接口(interface),它仅仅包含一些通用方法的声明;而Collections则是一个包含许多静态的(static)实用方法的类。
4 . 在哈希表(HashTable)中,实际上并不存在哪一个节点是第一个,哪一个节点是第二个的说法;换句话说在在哈希表(HashTable)中数据(记录)的存放是杂乱无章的(备注:哈希表中不允许存在值为NULL的记录);然而连接哈希表(LinkedHashTable)却是有序的。
5 . 向量类(Vector)是除了ArrayList之外唯一能实现随机访问的类。
6 . 树集合(TreeSet)是一个可分类的(Sorted)集合(Collections)。
7 . 哈希图(HashMap)是一个非排序、非分类的图(Map)。
8 . 图(Map)最大特点是:唯一的标识符(uniqueidentifier)(关键字(Key)是不允许重复的)。
9 . 链表(List)最大的特点是:索引(Index);(顺序、允许重复、带索引)。
10 . 最简单的调用垃圾收集的操作是:System.gc()。
11 . 原则上不推荐重载finalize()方法,即使重载也不要把重要的代码放在该方法中。
12 . 当通过system.out.println()打印对象时,对象的toString方法会自动被调用。
13 . JAVA语言提供了一种机制,就是在(特定)对象被删除之前,可以先运行一些指定代码,这种机制就是finalize()方法。
14 . equals(), hashCode(), and toString()是 public (finalize()是 protected)。
15 . 如果你没有重叠(override)equals()方法,两个不同(类)的对象是不能被认为相等的。
16 . 如果两个对象相等,他们的哈希代码(hashcode)必定相等。
17 . JAVA中所有的对象都存在于堆(heap)中。
18 . Java applications can run out ofmemory。
19 . Finalize()方法仅在对象被删除之前运行一次,而且仅能运行一次。
20 . StringBuffer不能重叠(override)方法equals()和hashCode()。
21 . ArrayList的方法不能够同步(sychronized)。
22 . HashTable是唯一的一个支持同步(sychronized)的类。
23 . LinkedHashMap是一个可以用来满足缓冲需要的集合类(Collections Class)
24 . 垃圾回收器只回收堆(heap)里面的对象(应该是用new方法创建的对象)。
25 . 所有的对象都存放在垃圾收集器可以回收的堆里(heap)。
浙公网安备 33010602011771号