哈希表
一.概念(基础理解)
1)存放的是key-value,键不能重复,若存在后,后者会覆盖之间的(保留后者);
2)存在自动排序(升序)
HashMap<Intenger,Intenger> map=new HashMap<>();
- 方法
- 创建对象:HashMap<Intenger,Intenger> map=new HashMap<>();
- 给map里面放key-value:map.put(key,value);
3>判断key在不在里面,返回的布尔:map.containkey(key);
4>判断value值在不在里面:map.containValue(value);
5>在原有的基础上增加:map.put(object1,map.getOrDefault(object1,0)+1);getOrDefault(c,0)如果没有就返回0,不会报错,如果存在就加1==就统计数
6>删除元素:map.remove(key)
7>清空元素:map.clear();
8>计算大小:map.size();
9>遍历:遍历key,通过key来取值
for(类型 key: map.keySet()){
类型 s=map.get(key);
}
遍历值:同上,不过keySet()改为valueSet()
10>判断是否为空:map.isEmpty();
11>将哈希表的内容转换为字符串:map.toString();
Eg:{A=3, B=3, C=2}=====>是{key-value,key-value
HashSet
- 概念(基础理解)
- 它实现的是set接口,里面存放不重复的值;与hashMap的区别就是:hashMap存放的是key-value,hashSet存放的是value,并且它不保证元素的存取顺序一样。
- 方法
- 创建对象:HashSet <类型> set=new HashSet<>();
- 放入元素:set.add(元素);(与hashMap不一样!!!)
- 删除元素:set.remove(元素);
- 判断元素是否存在:set.contains(元素);
- 清空:set.clear();
- 遍历:for(类型 ss:set){ }
- 直接打印set:set它是一个数组 ====eg:[1,2,3]
- 大小:set.size()