HashMap:
*Map接口:采用是键值对的方式存放数据。无序
*常见的实现类:
*--HashMap:基于哈希表的 Map 接口的实现。
*常用的构造方法:
* HashMap()构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。
* HashMap(int initialCapacity) 构造一个带指定初始容量和默认加载因子 (0.75) 的空 HashMap
*常用方法:
* put(K key, V value)在此映射中关联指定值与指定键。
* get(Object key) 返回指定键所映射的值;如果对于该键来说,此映射不包含任何映射关系,则返回 null。
* size() 返回此映射中的键-值映射关系数。
* remove(Object key) 从此映射中移除指定键的映射关系(如果存在)。
* clear() 从此映射中移除所有映射关系。
* containsKey(Object key) 如果此映射包含对于指定键的映射关系,则返回 true。
* containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
*----LinkedHashMap
*--Hashtable
*--TreeMap
import java.util.HashMap; import java.util.Map; public class TestHashMap { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); //向容器中添加元素:以键值对的方式进行存放. map.put("jack", "成龙"); map.put("jay", "周杰伦"); map.put("eason", "陈奕迅");//添加元素 //取: // map.remove("eason");//通过key移除元素 System.out.println("是否包含eason:"+map.containsKey("eason")); System.out.println("是否包含成龙:"+map.containsValue("成龙")); System.out.println("容器中总共有"+map.size()+"个键值对元素"); String name = map.get("jack");//根据key获取元素的值 System.out.println(name); String name2 = map.get("jay"); System.out.println(name2); } }
HashMap取值的两种方法:
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /** *Map的遍历 * Set<K> keySet() 返回此映射中所包含的键的 Set 视图。 * Set<Map.Entry<K,V>> entrySet() 返回此映射所包含的映射关系的 Set 视图。 */ public class TestHashMap2 { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); //向容器中添加元素:以键值对的方式进行存放. map.put("jack", "成龙"); map.put("jay", "周杰伦"); map.put("eason", "陈奕迅");//添加元素 map.put("jack", "杰克");//键如果重复,将发生覆盖 System.out.println(map); //方式1:先获取键的集合,通过键获取值 Set<String> keySet = map.keySet(); for (String key : keySet) { String value = map.get(key); System.out.println(key+"----"+value); } System.out.println("-------------------------------"); //方式2:获取键值对的集合,然后从键值对获取键和值。(推荐) //Entry<String,String>:对键和值进行泛型,Set<Entry<String,String>>对Set集合中Entry(键值对)进行泛型 Set<Entry<String,String>> entrySet = map.entrySet(); for (Entry<String, String> entry : entrySet) { String key = entry.getKey();//获取键值对的键 String value = entry.getValue();//获取键值对中值 System.out.println(key+"****"+value); } } }
时间: 2024-11-06 12:04:31