1、HashMap与HashTable的区别:
HashMap类是基于哈希表的 Map 接口的实现。它提供所有可选的映射操作,并允许使用 null 值和 null 键。但此类不保证映射的顺序,特别是它不保证该顺序恒久不变。Hashtable类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。在Java集合框架中,有些类是线程同步安全的类,它们是Vector、Hashtable、Stack、enumeration。HashMap类是基于哈希表的 Map 接口的实现。它提供所有可选的映射操作,并允许使用 null 值和 null 键。但此类不保证映射的顺序,特别是它不保证该顺序恒久不变。Hashtable类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。另外,在Java集合框架中,有些类是线程同步安全的类,它们是Vector、Hashtable、Stack、enumeration。
2、java.util.Random().nextInt(10)+1),能够随机到9,所以输出值可能为10。
3、用“+”运算符连接字符串和int/double类型数据,”+”将int/double类型数据自动转化成String类型.String类型数据前面的int/double类型数据先运算,再转化为String类型.
4、线程安全类的方法是同步的,每次只能一个访问,它们是重量级对象,效率较低。对于非线程安全的类和接口,在多线程中需要程序员自己处理线程安全问题。
5、每个字符的字符长度是1,空格字符长度也是1,英文符号字符长度也是1。