哈希表不能将可变对象作为key值,即引用类型的内容不能是可变的,这样不安全,因为hashcode函数是根据对象的内容计算出key和value的位置,如果引用的内容可变,那么每次查找的位置结果都不一样,之前存储的键值对就会找不到,不符合hash的设计原则,例如list类型是可变的,tuple是不可变的
哈希表插入和删除元素入上图所示,输出如下:
set:
set底层是一个特殊的hashmap,其值对应键值对中的key,所以也不能存储可变对象。
set的建立需要以一个list形式传入,另外还可以通过add方法直接增加:
结果: