Java中集合框架 Map

掌握Map接口的使用

语法:
这里我直接写个上代码,注释里面有语法:

package com.hashmap.demo;

import java.util.HashMap;
import java.util.Map;

/**
 * 
 * Hash:哈希,散列
 * 
 * @author DELL Map:映射 (--映射) 
 * 1. key == value (即一个键有且对应一个值) 
 * 2. key不能重复,是唯一的 
 * 3. value可以重复
 * 4. 每一个键值对就封装在Entry对象中 
 * 5.entry对象又由key和value组成
 * 6.添加元素put(key,value);
 * 7.如果键相同,其实就是修改,覆盖原有的值
 * 8.删除元素,用remove(key)
 * 9.读取单个元素用get(key)
 * 10.获取长度:size()
 * 11.map.containsKey(key) 表示判断是否存在指定的key
 * 12.map.containsValue(value) 表示判断是否存在指定的value
 *
 *         Map entry key - value entry key - value entry
 */
public class Demo {
	public static void main(String[] args) {
		Map map = new HashMap();
		/** 添加元素 */
		map.put("10000", "张三");
		map.put("10001", "李四");
		map.put("10002","小明");
		/** 下面的这个key 10001和上面的一样了,也就是覆盖了,覆盖就是修改 把张三改成了王五 */
		map.put("10000", "王五");
		
		/** 删除元素 */
		map.remove("10002");
		map.containsKey("10000");		
		/** 取值 */
		System.out.println(map.get("10001"));
	}

}

了解HashMap和Hashtable的区别

线程安全问题

多线程:重要 复杂 难度高

相同点:

​ 1.HashMap和Hashtable都是Map接口的实现,都可以实现键值对存储

不同点:

1.HashMap键值存储都可以为null,如果键为null则只能存储一次

Hashtable键值存储都不允许为null

2.HashMap是线程不安全的,效率高

Hashtable是线程安全的,效率低

多线程:重要 复杂 难度高

掌握Collections工具类的常用操作

Arrays
Collections

1.void sort(集合);  对集合进行升序排序

2.int max(集合);   获取集合中的最大值

3.int min(集合);   获取集合中的最小值

4.int binarySearch(集合,要查找的元素);   查找指定的键

5.void shuffle(集合);   打乱集合元素顺序


遍历方法

直接上代码:

package com.hashmap.demo;

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

public class Demo1 {
	public static void main(String[] args) {
		/** 创建HashMap对象 */
		Map map = new HashMap();
		map.put("1000", "张三");
		map.put("1001", "李四");
		map.put("1002", "王五");

		Set entrySet = map.entrySet();
		for (Object entry : entrySet) {
			Entry e = (Entry)entry;
			System.out.println(e);
		}
		/** 先获取map中所有的key */
		Set keys = map.keySet(); // ["1000","1001","1002"]
		Iterator it = keys.iterator();
		while(it.hasNext()) {
			String key = (String)it.next();
			System.out.println(key + "--------"+ map.get(key));
		}
	}

}

猜你喜欢

转载自blog.csdn.net/DreamingGod123/article/details/89390927