LeetCode之map系列

什么是HashMap?

HashMap是实现Map<K,V>接口的一个实体类,它对键值做了一对一的映射关系,当然里面键值不能重复。Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序。某些映射实现可明确保证其顺序,如 TreeMap 类;另一些映射实现则不保证顺序,如 HashMap 类。

import java.util.*;
Map<Integer, Integer> map = new HashMap<Integer, Integer>();

主要用法见:菜鸟教程

1void clear( )
 从此映射中移除所有映射关系(可选操作)。
2boolean containsKey(Object k)
如果此映射包含指定键的映射关系,则返回 true。
3boolean containsValue(Object v)
如果此映射将一个或多个键映射到指定值,则返回 true。
4Set entrySet( )
返回此映射中包含的映射关系的 Set 视图。
5boolean equals(Object obj)
比较指定的对象与此映射是否相等。
6Object get(Object k)
返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
7int hashCode( )
返回此映射的哈希码值。
8boolean isEmpty( )
如果此映射未包含键-值映射关系,则返回 true。
9Set keySet( )
返回此映射中包含的键的 Set 视图。
10Object put(Object k, Object v)
将指定的值与此映射中的指定键关联(可选操作)。
11void putAll(Map m)
从指定映射中将所有映射关系复制到此映射中(可选操作)。
12Object remove(Object k)
如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
13int size( )
返回此映射中的键-值映射关系数。
14Collection values( )
返回此映射中包含的值的 Collection 视图。

 

Map.getOrDefault(Object key, V defaultValue);

如果在Map中存在key,则返回key所对应的的value。如果在Map中不存在key,则返回默认值。

例子 查现有的map中是否有key为num的,若没有则创建个key为num,value为1的映射;若有,则为当前映射value + 1

map.put(num, map.getOrDefault(num, 0) + 1);

Map.Entry和Map.entrySet()

具体讲解链接:

列子:通过Map.entrySet遍历key和value,并且打key和value放入entry中。

for (Map.Entry<Integer, Integer> entry : map.entrySet()){}

 

什么是HashSet?

    HashSet是实现Set<E>接口的一个实体类,数据是以哈希表的形式存放的,里面的不能包含重复数据。Set接口是一种一个不包含重复元素的 collection。

set的各种方法

增加
set.add(null);

删除
set.remove(news);

对比查找
set.contains(news);

清空集合
set.clear();

获取长度
set.size();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值