目录
- 一、Map常见方法使用
- 二、Map循环的五种循环方式方式
一、Map常见方法使用
Java的集合框架中的Map接口表示一组键值对,并提供了各种方法来操作这些键值对。以下是Map接口中常见的方法:
代码示例如下:
@Test
public void HashMapTest() {
Map map = new HashMap();
map.put(1,"老大"); //后面被remove()方法移出了
map.put(2,"老二"); //put()添加键值
map.put(3,"老三");
System.out.println("长度为:"+map.size());//获取长度
System.out.println(map.get(1));//通过key取value
System.out.println(map.containsKey(2));//查询hashMap中是否存在某个键
System.out.println(map.remove(1));//移除键,返回对应的value
System.out.println(map.keySet());//返回一个存有key的set
System.out.println(map.values());//返回一个存有value的collection
map.clear();//清空hashMap
System.out.println("长度为:"+map.size());
}
输出效果如下:
长度为:3
老大
true
老大
[2, 3]
[老二, 老三]
长度为:0
二、Map循环的五种循环方式方式
方法1:
@Test
public void show1(){
Map map1=new HashMap();//创建一个HashMap
map1.put(1,"老大"); //向HashMap中添加键值对
map1.put(2,"老二");
map1.put(3,"老三");
Set set = map1.keySet();//获取HashMap中的键集合
for (Object o : set) { //遍历键集合
Object val=map1.get(o); //获取键对应的值
System.out.println(o+"\t"+val); //输出键和值
}
}
方法1通过key的set集合进行遍历,然后通过key(键)来取map1的value(值)
方法2:
//获取HashMap中的键值对
Set set = map1.entrySet();
//遍历HashMap中的键值对
for (Object o : set) {
Map.Entry entry=(Map.Entry) o; //将键值对转换为Map.Entry类型
System.out.println(entry.getKey()+"\t"+entry.getValue());//输出键和值
}
方法2通过键值对转换为Map.Entry类型进行遍历获取键值对
方法3:
Collection col = map1.keySet();
for (Object o : col) {
Object val=map1.get(o);//获取键对应的值
System.out.println(o+"\t"+val);
}
方法3直接取出map1的value并放在collection中,然后将val循环遍历
方法4:
Iterator ite=map1.keySet().iterator();//使用Iterator迭代器 获取HashMap中的键集合
while (ite.hasNext()){
Object o=ite.next(); //获取map中的键
Object val=map1.get(o); //获取map中对应键的值
System.out.println(o+"\t"+val);
}
方法4使用迭代器遍历循环 获取键和值
方法5:
Iterator ite=map1.entrySet().iterator();
while (ite.hasNext()){
Object o=ite.next();
Map.Entry entry=(Map.Entry) o; //将键值对转换为Map.Entry类型
System.out.println(entry.getKey()+"\t"+entry.getValue());
}
方法5使用迭代器遍历循环 再将键值对转换为Map.Entry类型 获取键和值
五种方法运行效果如下:
1 老大
2 老二
3 老三
总结:
Map在Java中被广泛使用,它提供了高效的键值对存储和检索方式,适用于各种场景,例如缓存、数据查找和索引等。常用的实现类包括HashMap、TreeMap和LinkedHashMap等。