Java常见问题(二十二):HashMap的常用命令

题目分析:其他内容正在学习中…

【HashMap为什么会出现?】

  1. 数组的特点:数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;
  2. 链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(n)。链表的特点是:寻址困难,插入和删除容易。
  3. 是否有既寻址容易,插入和删除困难又简单的数据结构?
    这就是哈希表,其具体数据结构传送门: link.

【HashMap的常用命令有哪些?】

  1. 首先在使用前,我们需要新建一个哈希表
HashMap<Integer, Integer> hashMap = new HashMap<>();
  1. 之后,我们往往要输入键值对,使用**map.put(key, value)**方法:
hashMap.put(5, 2); 

当在hashmap中put的key在之前已经存过,则不会重复存储,会覆盖之前key对应的value。

  1. 当你需要删除键值对时,可以使用map.remove(key)
  2. 另外我们常用用到以下方法:
  • containsKey(Object key)方法,返回值为boolean,用于判断当前hashmap中是否包含key对应的key-value
  • containsValue(Object value)方法,返回值为boolean,用于判断当前hashmap中是否包含value对应的key-value
  1. 遍历hashmap的方法利用haspmap.entrySet().iterator():利用迭代器,从Entry中取出键、取出值,推荐使用这种方式进行遍历,效率较高。
Iterator<Entry<Integer, Integer>> iterator = hashMap.entrySet().iterator();
		while (iterator.hasNext()) {
			Entry<Integer, Integer> entry = iterator.next();
			Integer key = entry.getKey();
			Integer value = entry.getValue();
			System.out.print(key + "--->" + value);
			System.out.println();
		}

【题目拓展】

暂无

发布了82 篇原创文章 · 获赞 0 · 访问量 877

猜你喜欢

转载自blog.csdn.net/weixin_43518038/article/details/105125433