Map 的主要实现类:HashMap

  1. public class TestHashMap {
  2. public static void main(String[] args) {
  3. Map map = new HashMap();
  4. Map map1 = new HashMap();
  5. // 增删改查操作
  6. // 1.将指定的值与此映射中的指定键关联(若当前 key 已存在值,则替换并返回之前 key 对应的值 value 的类型):
  7. // V put(K key,V value);
  8. System.out.println(map.put("c", 21));// null
  9. System.out.println(map.put("c", 23));// 21
  10. System.out.println(map.put(null, 19));// null
  11. System.out.println(map.put(4, 25));// null
  12. System.out.println(map);// {null=19, c=23, 4=25}
  13. // 2.返回当前Map已有的映射个数:int size();
  14. System.out.println(map.size());// 3
  15. // 3.如果存在此 key 的映射关系,则将其移除,返回之前与该 key 关联的值,如果没有则返回 null:
  16. // V remove(Object key);
  17. // 注意:返回 null 不一定代表映射没有该 key 的值,也可能是该 key 的值本身就是 null
  18. System.out.println(map.remove(4));// 25
  19. System.out.println(map.remove(null));// 19
  20. System.out.println(map);// {c=23}
  21. // 4.从指定映射中将所有映射关系复制到此映射中(等效于执行多个 put ):void putAll(Map m);
  22. map.put(56, "ss");
  23. map.put(5, "tt");
  24. System.out.println(map);// {c=23, 5=tt, 56=ss}
  25. map1.put(5, "ww");
  26. System.out.println(map1);// {5=ww}
  27. map1.putAll(map);
  28. System.out.println(map1);// {c=23, 5=tt, 56=ss}
  29. // 5.从此映射中移除所有映射关系:void clear();
  30. map1.clear();
  31. System.out.println(map1.size());// 0
  32. // 6.返回指定键所映射的值,如果此映射不包含该键的映射关系,则返回 null:V get(Object key);
  33. System.out.println(map.get("c"));// 23
  34. System.out.println(map.get("d"));// null
  35. // 7.如果此映射包含指定键的映射关系,则返回 true:boolean containsKey(Object key);
  36. System.out.println(map.containsKey(5));// true
  37. // 8.如果此映射将一个或多个键映射到指定值,则返回 true:boolean containsValue(Object value);
  38. System.out.println(map.containsValue("ss"));// true
  39. // 9.如果此映射未包含任何映射关系,则返回 true:boolean isEmpty();
  40. System.out.println(map1.isEmpty());// true
  41. // 10.比较指定的对象与此映射是否相等。如果给定的对象也是一个映射,并且这两个映射表示相同的映射关系,则返回 true:
  42. // boolean equals(Object o);
  43. Map map2 = new HashMap();
  44. map2.putAll(map);
  45. System.out.println(map2.equals(map));// true
  46. // 元视图操作
  47. Map map3 = new HashMap();
  48. map3.putAll(map2);
  49. map3.put("sp", "5e");
  50. map3.put(2, "ef");
  51. System.out.println(map3);// {56=ss, 2=ef, c=23, 5=tt, sp=5e}
  52. // 1.返回此映射中包含的键的 Set 视图:Set keySet();
  53. Set set = map3.keySet();
  54. for (Object o : set) {
  55. System.out.println(o);
  56. } // 56 2 c 5 sp
  57. // 2.返回此映射中包含的值的 Collection 视图:Collection values();
  58. Collection collection = map3.values();
  59. Iterator i = collection.iterator();
  60. while (i.hasNext()) {
  61. System.out.println(i.next());
  62. } // ss ef 23 tt 5e
  63. // 3.返回此映射中包含的映射关系(Entry)的 Set 视图:Set entrySet();
  64. Set set1 = map3.entrySet();
  65. for (Object o : set1) {
  66. System.out.println(o);
  67. } // 56=ss 2=ef c=23 5=tt sp=5e
  68. // 另外两个遍历映射的方法:
  69. for (Object o : set1) {
  70. Map.Entry entry = (Map.Entry) o;
  71. System.out.println(entry);
  72. } // 56=ss 2=ef c=23 5=tt sp=5e
  73. for (Object o : set) {
  74. System.out.println(o + "=" + map3.get(o));
  75. } // 56=ss 2=ef c=23 5=tt sp=5e
  76. }
  77. }
时间: 2024-12-29 05:53:25

Map 的主要实现类:HashMap的相关文章

JavaSE入门学习37:Java集合框架之Map接口及其实现类HashMap和TreeMap

一Map接口 Map接口中的每个成员方法由一个关键字(key)和一个值(value)构成.Map接口不直接继承于Collection接口,因 为它包装的是一组成对的"键-值"对象的集合,而且在Map接口的集合中也不能有重复的key出现,因为每个键只能与 一个成员元素相对应. Map接口定义了存储"键(key)--值(value)映射对"的方法.实现Map接口的类用来存储键值对.Map接口中包含 了一个keySet()方法,用于返回Map中所有key组成的Set集合.

9.5-全栈Java笔记:Map接口中的实现类HashMap

上节聊到「Map接口和实现类」,今天我们深入探讨其实现类中的HashMap如何进行底层实现. Hashmap基本结构讲解 哈希表的基本结构就是"数组+链表".我们打开HashMap源码,发现有如下两个核心内容: public class   HashMap<K,V> extends   AbstractMap<K,V> implements   Map<K,V>, Cloneable, Serializable { /** * The default

Set,Map,包装类工具类

package Leidejihe; import java.util.*; public class Test2set { public static void main(String[] args) { //两种方式.Set没有顺序输入和输出 Set<String>s=new HashSet<String>(); //HashSet<String>s1=new HashSet<String>(); s.add("a"); s.add(

Java基础中map接口和实现类

1.Map接口常用的实现类有HashMap和TreeMap. 2.HashMap类实现的Map集合对于添加和删除映射关系效率更高.HashMap是基于哈希表的Map接口的实现,HashMap通过哈希码对其内部的映射关系进行快速查询,由HashMap类实现的Map集合对于添加或删除映射关系效率较高. 3.TreeMap中的映射关系存在一定的顺序,如果希望Map集合中的对象存在一定的顺序,该使用TreeMap类实现Map集合. HashMap类 ①此类不保证映射的顺序,特别是不保证该顺序恒久不变 ②

(4)文本挖掘(一)——准备文本读写及对Map操作的工具类

文本挖掘是一个对具有丰富语义的文本进行分析,从而理解其所包含的内容和意义的过程.文本挖掘包含分词.文本表示.文本特征选择.文本分类.文本聚类.文档自动摘要等方面的内容.文本挖掘的具体流程图可下图所示: 我的项目是以复旦大学中文语料库和路透社英文语料库为数据集的,都是有类别的两层目录文本集. 不管你要做什么,你首先都要先读取文本,为了方便后面的操作,我写了几个工具类,这里先将文本读取Reader类.文本写入Writer类和对Map的各种操作MapUtil类. Reader import java.

9.4-全栈Java笔记:Map接口和实现类

现实生活中,我们经常需要成对存储某些信息.比如,我们使用的微信,一个手机号只能对应一个微信账户.这就是一种成对存储的关系. Map就是用来存储"键(key)-值(value) 对".  Map类中存储的"键值对"通过键来标识,所以"键对象"不能重复. Map 接口的实现类有: HashMap.TreeMap.HashTable.Properties等. 常用的方法: 方法 说明 Object   put(Object key, Object va

Map m = Collections.synchronizedMap(new HashMap())

Collections.synchronizedMap(new HashMap())让你创建的new HashMap()支持多线程数据的同步.保证多线程访问数据的一致性 来源:http://www.blogjava.net/zlsunnan/archive/2006/07/02/56184.html 在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK 1.0的一部分.Hashtable提供了一种易于使用的.线程安全的.关联的map功能,这当然也是方便的.然而,线程安全性是凭

黑马程序员——黑马基础——Map,集合框架工具类Conlections和Arrays

黑马程序员--黑马基础--Map,集合框架工具类Conlections和Arrays ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,Map集合 Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key). 特点: 1)该集合存储键值对,一对一对往里存 2)要保证键的唯一性. Map集合的子类 Map |--Hashtable:底层是哈希表数据结构,不可以存入null键nu

9.3.2 map端连接-CompositeInputFormat连接类

1.1.1         map端连接-CompositeInputFormat连接类 (1)使用CompositeInputFormat连接类需要满足三个条件: 1)两个数据集都是大的数据集,不能用缓存文件的方式. 2)数据集都是按照相同的键进行排序: 3)数据集有相同的分区数,同一个键的所有记录在同一个分区中,输出文件不可分割: 要满足这三个条件,输入数据在达到map端连接函数之前,两个数据集被reduce处理,reduce任务数量相同都为n,两个数据集被分区输出到n个文件,同一个键的所有