HashMap常用方法

Map集合

Map接口下有一个实现类Hashtable、一个子接口SortedMap、一个抽象类AbstractMap,在AbstractMap下有一个HashMap实现类和一个TreeMap实现类,接下来介绍HashMap实现类的常用方法
在这里插入图片描述

put():向HashMap中添加元素 key - value,key不允许重复,否则覆盖(原理后面的博客会讲)

package map;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();//尖括号内容是泛型
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
	}
}

泛型不可以是基本数据类型,可以是自定义的类,也可以是基本数据类型所对应的包装类
Byte Short Integer Float Double Boolean Character

get():获取key所对应的value

package map;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
		int v = map.get("A");
		System.out.println(v);
	}
}

size():获取HashMap集合容器中有多少键值对

package map;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
		int v = map.get("A");
		System.out.println(map.size());
	}
}

clear():清空容器键值对,isEmpty():空返回true

package map;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
		map.clear();
		System.out.println(map.isEmpty());
	}
}

remove():删除HashMap元素,返回value

package map;

import java.util.HashMap;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
		int score = map.remove("Tom");
		System.out.println(score);
	}
}

遍历Map容器的四种方法

package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

public class Map {

	public static void main(String[] args) {
		HashMap<String,Integer> map = new HashMap<String,Integer>();
		map.put("A", 149);
		map.put("B", 26);
		map.put("C", 39);
//      一、		
//		Collection<Integer> vals = map.values();
//		for (Integer i : vals) {
//			System.out.println(i);//值的集合
//		}
//      二、
//		Set<String> set = map.keySet();
//      ①
//		for (String key : set) {
//			System.out.println(key+" "+map.get(key));//键的集合,通过键得到值
//		}
//		②
//		Iterator<String> it = set.iterator();
//		while(it.hasNext()) {
//			String key = it.next();
//			System.out.println(key+" "+map.get(key));//把键的集合的信息交给迭代器变量,然后遍历通过键得到值
//		}
//      三、		
//		Set<Entry<String, Integer>> set = map.entrySet();//创建entry的集合,entry是键值对的封装对象,可以调用对象的方法遍历
//		for (Entry<String, Integer> entry : set) {
//			System.out.println(entry.getKey()+" "+entry.getValue());
//		}
//      四、
//		Iterator<Entry<String,Integer>> it = set.iterator();//把这些对象的信息都交给迭代器变量,然后迭代器遍历
//		while(it.hasNext()) {
//			Entry<String,Integer> entry = it.next();
//			System.out.println(entry.getKey()+" "+entry.getValue());//entry对象
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值