java hashmap 类,Java常用类(HashMap)

package demo01;

import java.util.Collection;

import java.util.HashMap;

import java.util.Map;

import java.util.Set;

public class HashMapClass {

public static void print(HashMap h) {

for (Map.Entry e: h.entrySet()) {

//Map.Entry类型的getKey()方法可以取出对象的key,getValue()方法可以取出对象的value

System.out.println(e.getKey() + ": " + e.getValue());

}

}

public static void main(String[] args) {

//注意:如果想用HashMap中的key存储自定义类型,和HashSet中存储自定义类型相同,需要重写对象中的hashCode方法和equals方法。

//还可以创建LinkedHashMap类型,和HashMap几乎相同,但是LinkedHashMap底层是一个链表和一个哈希表,链表的作用是记录元素第一次出现的位置,因此元素是有序的。

HashMap h = new HashMap<>();

//public V put(K key, V value) 给key:value放入字典中

h.put(1, "Momday");

h.put(2, "Tuesday");

h.put(3, "Wenesday");

System.out.println("初始时字典h:");

print(h);

//public int size() 查看字典的大小

System.out.println("字典h的大小为:" + h.size());

//当插入的键值对的key已经存在于字典中,如果值不同,则会覆盖之前的值。

h.put(1, "Monday");

//public V replace(K key, V value) 将键对应的值进行修改。

h.replace(3, "wednesday");

System.out.print("修改后字典h:");

System.out.println(h);

//public boolean containsKey(Object key) 查看字典中是否包含key

System.out.println("字典h的key是否包含4:" + h.containsKey(4));

//public boolean containsValue(Object value) 查看字典中是否包含value

System.out.println("字典h的value是否包含星期二:" + h.containsValue("Tuesday"));

//public V get(Object key) 获取字典中key对应的value

System.out.print("星期三的英文单词是:" + h.get(3));

//public V getOrDefault(Object key, V defaultValue) 获取字典中key对应的value,如果没有则返回默认value

System.out.print("星期四的英文单词是:" + h.getOrDefault(4, "Thursday"));

//public boolean remove(Object key, Object value) 移除字典中键值对,如果不存在则不移除。

System.out.print("字典h删除3:Wenesday是否成功:" + h.remove(3, "Wenesday"));

//public V remove(Object key) 移除字典中key对应的键值对,如果不存在则不移除。

h.remove(3);

System.out.print("删除星期三的单词后字典h:");

System.out.println(h);

//public Set keySet() 获取字典中key的Set集合

Set hKey = h.keySet();

System.out.print("字典h的key:");

System.out.println(hKey);

//public Collection values() 获取字典中value的Collection集合

Collection hValue = h.values();

System.out.print("字典h的value:");

System.out.println(hValue);

//public Set> entrySet() 获取字典中的键值对的Set集合,其中每一个对象是一个Map.Entry类型

Set> e = h.entrySet();

System.out.print("字典h的key & value:");

System.out.println(e);

HashMap h1 = new HashMap<>();

h1.put(3, "Wednesday");

h1.put(4, "Thursday");

h1.put(5, "Friday");

System.out.print("初始时字典h1:");

System.out.println(h1);

//public void putAll(Map extends K, ? extends V> m) 将字典m合并到当前字典中,重复key对应的value会被替换

h.putAll(h1);

System.out.print("h合并h1后:");

System.out.println(h);

//public void clear() 清空字典

h.clear();

System.out.print("移除所有元素后,字典h:");

System.out.println(h);

//public boolean isEmpty() 判断字典是否为空

System.out.println("字典h是否为空:" + h.isEmpty());

System.out.println("字典h的大小为:" + h.size());

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值