HashMap和Hashtable之间的区别
HashMap和Hashtable都用于存储键和值形式的数据。两者都使用哈希技术存储唯一键。
但是下面给出的HashMap和Hashtable类之间有很多区别。
HashMap</td>
| 哈希表 |
HashMap是未同步。它不是线程安全的,没有适当的同步代码就无法在许多线程之间共享。 |
哈希表已同步。它是线程安全的,可以与许多线程共享。 |
HashMap<strong>允许一个空键和多个空值。 |
哈希表不允许任何空键或值。 |
HashMap是JDK 1.2中引入的新类。 |
哈希表是一个旧版。 |
HashMap是快速。 |
哈希表慢。 |
我们可以通过调用以下代码使HashMap同步 Map m = Collections.synchronizedMap(hashMap); |
哈希表是内部同步的,不能不同步。 |
HashMap被迭代器遍历。 |
哈希表被枚举器和迭代器遍历。 |
HashMap中的迭代器快速。 |
哈希表中的枚举器不是快速失败。 |
HashMap继承了 AbstractMap</strong>类。 |
哈希表继承了字典类。 |
Java中抽象类和接口的示例
让我们看一个简单的示例,其中我们同时使用接口和抽象类。
interface A{
void a();
void b();
void c();
void d();
}
class B implements A{
public void c(){
System.out.println("I am C");
}
}
class M extends B{
public void a(){
System.out.println("I am a");
}
public void b(){
System.out.println("I am b");
}
public void d(){
System.out.println("I am d");
}
}
class Test5{
public static void main(String args[]){
A a=new M();
a.a();
a.b();
a.c();
a.d();
}
}
输出:
I am a
I am b
I am c
I am d