Java学习笔记Map

我的Java学习笔记

Map



Map

1.HashMap的特点

​ 基于哈希表的结构实现了Map接口

​ 存储数据是键值对(K/V)

​ Key和value都允许为空

​ hashmap中的key不可以重复,value可以重复

​ 如果key重复那么value会被新的value覆盖

​ hashmap存储的数据是有序的

2.HashMap操作

2.1 添加数据

public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "老曹");
	}
}
2.2 获取长度
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "老曹");
		//获取长度
		int siez  = hashMap.size();
	}
}
2.3 根据key获取value
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1003, "超姐");
		//get(Object key) 根据key获取对应的value值
		String name = hashMap.get(1002);
	}
}
2.4 获取所有的key
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1003, "超姐");
		//keySet() 获取所有的key 返回值是Set对象
		Set<Integer> ks = hashMap.keySet();
	}
}
2.5 遍历HashMap的数据
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
		//1. 获取所有的key
		Set<Integer> ks = hashMap.keySet();
		//2. 遍历所有的key
		for (Integer i : ks) {
			//3. 根据key获取对应的value
			String value = hashMap.get(i);
			System.out.println(i+"----"+value);
		}
	}
}
2.6 使用entrySet()遍历HashaMap
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
		Set<Entry<Integer, String>> entrySet = hashMap.entrySet();
		for (Entry<Integer, String> entry : entrySet) {
			System.out.println(entry);
		}
	}
}
2.7 判断key是否存在
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
        //containsKey(Object key) 判断key是否存在
		boolean key = hashMap.containsKey(1004);
		System.out.println(key);
	}
}
2.8 判断value是否存在
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
        //containsValue(Object value) 判断value是否存在
		boolean key = hashMap.containsValue("张三");
		System.out.println(key);
	}
}
2.9 删除数据
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
		//remove(Object key) 根据key删除整条数据
		hashMap.remove(1001);
		//remove(Object key,Object value) 根据key和value删除整条数据
		hashMap.remove(1002,"老曹");
	}
}
2.10 替换数据
public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
		//replace(Object key,Object newvalue) 根据key覆盖oldvalue的值
		hashMap.replace(1001, "吴志文");
		//replace(Object key,Object oldValue,Object newvalue)
		// 根据key和value进行修改
		hashMap.replace(1002, "老曹", "董哥");
		System.out.println(hashMap.get(1002));
	}
}
2.11 获取所有的value值

public class MapTest {
	public static void main(String[] args) {
		HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
		hashMap.put(1001, "xx");
		hashMap.put(1002, "老曹");
		hashMap.put(1001, "张三");
		hashMap.put(1003, "超姐");
		//把所有的value值放入集合中(Collection)
		Collection<String> values = hashMap.values();
		for (String string : values) {
			System.out.println(string);
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值