Java基础复习(2)

xiaoxiao2021-02-28  38

...

HashMap、HashTable的区别:

常见的几种不同:

(1)HashMap不是线性安全的,效率更高一些,HashTable是线性安全的,HashTable的方法是同步的,而HashMap中的方法在缺省的情况下是非同步的,在多线程并发的环境下,可以直接使用HashTable,但是HashMap需要外步同步。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。

(2)HashMap是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而HashTable不允许。

(3)哈希值的使用不同:HashMap重新计算hash值,HashTable直接使用对象的hashcode值。

String、StringBuffer、StringBuilder区别:

String字符串常量,适用于少量字符串操作;

StringBuffer字符串变量(线性安全),适用于单线程下在字符缓冲区进行大量操作情况;

StringBuilder字符串变量(非线性安全),适用于多线性在字符缓冲区进行大量操作的情况;

执行速度比较StringBuilder > StringBuffer > String

抽象类和接口有什么区别

 

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-2626367.html

最新回复(0)