Home >Java >javaTutorial >Basic usage of Java Map

Basic usage of Java Map

(*-*)浩
(*-*)浩Original
2019-11-23 17:14:384012browse

Basic usage of Java Map

##Java Map Interface                 (Recommended learning: java course)

Basic usage of Java Map

java.util.Map interface lookup table

Map 体现的结构是一个多行两列的表格,左列称为key
右列称为value.
Map 总是根据key来获取对应的value.因此保存数据时是成对保存的,并且应当将查询的数据作为value查询条件作为key进行保存.
Map要求key 不允许重复(equals 比较判定)

Commonly used implementation classes

java.util.HashMap, hash table , Hash table

The fastest data structure to query

Basic usage

public class MapDemo{
	public static void main(String[] args){
		Map<String,Integer>map = new HashMap<>();
		/*
		 * V put(K k,V v)
		 * 将给定的key-value对存入Map
		 * 由于Map要求key不允许重复,所以若
		 * 使用重复的key存储则是替换value操作
		 * 那么返回值就是该key原来对应的value
		 * 若给定的key不存在则返回值为null.
		 */
		map.put("攻击",60);
		Integer value=map.put("攻速",8);
		System.out.println(value); // null
		value=map.put("攻速",6);
		System.out.println(value); // 8 
		/*
		 * V get(Object key)
		 * 根据给定的key获取对应的value
		 * 若给定的key不存在则返回值为null
		 */
		value =map.get("攻击");
		System.out.println(value);//60
		/*
		 * V remove(Object key)
		 * 删除当前Map中给定的key所对应的键值对
		 * 返回值为该key对应的value
		 */
		value = map.remove("攻击");
		System.out.println(map);
		System.out.println(value);
		/*
		 * int size()
		 * 返回Map中的元素个数
		 */
		int size = map.size();
		System.out.println(size);
		/*
		 * 判断当前Map是否包含给定的key或value
		 */
		boolean ck = map.containsKey("攻速");
		System.out.println("包含key:"+ck);
		boolean cv = map.containsValue(96);
		System.out.println("包含value:"+cv);
	}
}

Map traversal

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

/**
 * Map的遍历 Map提供了三种遍历方式: 1:遍历所有的key 2:遍历每一组键值对 3:遍历所有的value(相对不常用)
 *
 */
public class MapDemo2 {
	public static void main(String[] args) {
		Map<String, Integer> map 
						= new HashMap<>();
		map.put("语文", 99);
		map.put("数学", 98);
		map.put("英语", 97);
		map.put("物理", 96);
		map.put("化学", 99);
		System.out.println(map);
		
		/*
		 * 遍历所有的key
		 * Set keySet()
		 * 将当前Map中所有的key以一个Set集合
		 * 形式返回.遍历该集合等同于遍历了所有
		 * 的key
		 */
		Set<String> keySet = map.keySet();
		for(String key : keySet) {
			System.out.println("key:"+key);
		}
		
		/*
		 * 遍历每一组键值对
		 * Set entrySet()
		 * 将当前Map中每一组键值对以一个Entry实例
		 * 存入Set集合并返回.
		 * 
		 * java.util.Map.Entry
		 * Entry的每一个实例用于表示Map中的一组
		 * 键值对
		 */
		Set<Entry<String,Integer>> entrySet 
						= map.entrySet();		
		for(Entry<String,Integer> e:entrySet) {
			String key = e.getKey();
			Integer value = e.getValue();
			System.out.println(key+":"+value);
		}
	}
}

The above is the detailed content of Basic usage of Java Map. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn