Vector 中的方法都有 synchronized 标记,可以在多线程中安全访问,但是只有一个线程时,同步操作会浪费大量时间。ArrayList 的方法没有 synchronized 标记,访问速度较快,适用于单线程的访问。经典的 HashTable 类与 HashMap 类的作用一样,实际上,接口也基本相同。HashTable 的方法是同步的。如果对与遗留代码的兼容性没有要求,就应该使用 HashMap。如果需要并发访问,则要使用 ConcurrentHashMap。