[2025.1.13 JavaSE学习]集合-7(Hashtable && Properties)

Hashtable

特点

  • 和HashMap处于同一级,实现了Map接口,继承了Dictionary类
  • Hashtable的key和value都不能为null,否则会抛出NullPointException
  • 是线程安全的,带有synchronized修饰

扩容机制

  • 底层有数组Hashtable$Entry[ ],初始化大小为11
  • 临界值threshold为8 = 11/* 0.75
  • 而后按照自己的扩容机制扩容
  • 执行方法addEntry(hash,key,value,index),添加k-v封装到Entry
  • count >= threshold时,进行扩容
  • 按照 int newCapacity = (oldCapacity << 1) + 1的大小扩容

HashMap和Hashtable对比

image


Properties

特点

  • 实现了Hashtable接口,间接实现了Map接口,因此也不能放置null
  • 使用特点和Hashtable类似
  • !!!Properties更多的应用场景是:从xxx.properties文件中,记载数据到Properties类对象,并进行读取和修改(说明:工作后xxx.properties文件通常作为配置文件

使用例子

public class Properties_{
	public static void main(String[] args){
		Properties properties = new Properties();
		properties.put("john",100);
		properties.put("mike",80);
		properties.put("lucy",60);
		properties.put("Wang",40);
		properties.put("Tyler",20);
	}
}
posted @ 2025-01-14 03:17  Luna-Evelyn  阅读(19)  评论(0)    收藏  举报