package test;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.IdentityHashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
//在 IdentityHashMap中,当且仅当(k1==k2)时,才认为两个键k1和k2相等
//此类设计仅用于其中需要引用相等性语义的罕见情况
Map<String, String> map = new IdentityHashMap<String, String>();
String str1 = new String("zhang");
String str2 = "zhang";
String str3 = new String("zhang");
map.put(str1, "1");
map.put(str2, "2");
map.put(str1, "3");
map.put(null, "4");
map.put(str3, null);
System.out.println("null:" + map.get(null));
System.out.println("map:" + map);
System.out.println("----------------------------");
//除了非同步和允许使用null之外,HashMap 类与Hashtable 大致相同
//HashMap,当且仅当满足下列条件时才认为两个键 k1 和 k2 相等:(k1==null ? k2==null : e1.equals(e2))
//也许你会想到这个疑问
//String s1 = null;
//String s2 = null;
//System.out.println(s1.equals(s2));以这样的方式直接判断两个字符串相等,而不需要(k1==null ? k2==null : e1.equals(e2))这么复杂,你可以试试
Map<String, String> map2 = new HashMap<String, String>();
map2.put(null, null);
map2.put(str1, "1");
map2.put(str2, "2");
map2.put(str3, "3");
System.out.println("map2:" + map2);
System.out.println(map2.get(null));
System.out.println("-----------------------------");
//HashTable实现了同步,且不允许使用null
Map<String, String> map3 = new Hashtable<String, String>();
//这样会报空指针错误
//map3.put(null, null);
//map3.put(null, "1");
//map3.put("2", null);
System.out.println(map3);
//这样会报空指针错误
//System.out.println(map3.get(null));
}
}
import java.util.HashMap;
import java.util.Hashtable;
import java.util.IdentityHashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
//在 IdentityHashMap中,当且仅当(k1==k2)时,才认为两个键k1和k2相等
//此类设计仅用于其中需要引用相等性语义的罕见情况
Map<String, String> map = new IdentityHashMap<String, String>();
String str1 = new String("zhang");
String str2 = "zhang";
String str3 = new String("zhang");
map.put(str1, "1");
map.put(str2, "2");
map.put(str1, "3");
map.put(null, "4");
map.put(str3, null);
System.out.println("null:" + map.get(null));
System.out.println("map:" + map);
System.out.println("----------------------------");
//除了非同步和允许使用null之外,HashMap 类与Hashtable 大致相同
//HashMap,当且仅当满足下列条件时才认为两个键 k1 和 k2 相等:(k1==null ? k2==null : e1.equals(e2))
//也许你会想到这个疑问
//String s1 = null;
//String s2 = null;
//System.out.println(s1.equals(s2));以这样的方式直接判断两个字符串相等,而不需要(k1==null ? k2==null : e1.equals(e2))这么复杂,你可以试试
Map<String, String> map2 = new HashMap<String, String>();
map2.put(null, null);
map2.put(str1, "1");
map2.put(str2, "2");
map2.put(str3, "3");
System.out.println("map2:" + map2);
System.out.println(map2.get(null));
System.out.println("-----------------------------");
//HashTable实现了同步,且不允许使用null
Map<String, String> map3 = new Hashtable<String, String>();
//这样会报空指针错误
//map3.put(null, null);
//map3.put(null, "1");
//map3.put("2", null);
System.out.println(map3);
//这样会报空指针错误
//System.out.println(map3.get(null));
}
}
发表评论
-
nexus私服启动报错,错误1067: 进程意外终止。
2019-12-10 18:55 444nexus私服启动报错,错误提示,1067: 进程意外终止。 ... -
最新JAVA调用新浪微博API之发微博、发图片
2018-08-29 17:12 2089前言: 微博官方在2017年3月份调整了相关接口,取消了网 ... -
java使用POI操作Word文档,写入文字与图片
2018-08-10 10:49 3192第一步,继承XWPFDocument,写一个操作图片写入大小 ... -
java从字符串中提取数字的简单实例
2018-08-08 15:55 4733package excel; import java. ... -
Quartz开源的作业调度框架
2016-11-29 15:49 751package com.demo.web.quartz; ... -
HttpClient MultipartRequestEntity文件上传,中文乱码解决方案
2015-05-13 20:38 11081之前分享过HttpClient模拟登录第三方项目的代码,这次 ... -
Sftp访问方式JSch
2015-05-12 14:56 1994使用JSch访问Sftp有时候 ... -
Struts2的工作原理
2014-07-12 15:38 464一个请求在Struts2框架中的处理大概分为以下几个步 ... -
HttpClient模拟登陆
2014-04-21 15:15 414public static void testPost(in ... -
FileInputStream和FileOutputStream、DataInputStream和DataOutputStream、FileReader和Fil
2014-04-11 09:33 1677package cn.zzu.lxzqz; impo ... -
java实现文件解压缩,ZipInputStream,ZipOutputStream
2014-03-20 17:29 2802package compress; import j ... -
修改类不重启tomcat 自动加载项目
2013-12-09 16:23 578目前我所知道的的方式有两种: 一、在项目project\W ... -
数据导出Excel表、数据库数据导出
2013-09-10 11:41 710public static HashMap<Strin ... -
导出数据库设计结构为Excel表格,数据库字段操作
2013-05-10 14:40 1345第一步: package DB; import java.u ... -
Object Clone
2013-04-25 11:53 551package test; public class Clas ... -
小品StringTokenizer
2013-04-07 17:51 812package com.excel.test; import ... -
JSONObject操作
2013-03-22 10:35 6190package com.json; import java. ... -
JAVA操作Excel表
2013-03-13 14:15 1358package com.excel.test; import ... -
Hibernate操作Blob,将Blob转换为String
2013-01-15 10:39 2233public String getScenicCoord(St ... -
FTPListParseException
2012-12-24 14:33 2267使用ftp4这个jar包来连接FTP时,有时会报it.saur ...
相关推荐
JAVA中IdentityHashMap使用.rar
IdentityHashMap是Java中的一种特殊的哈希表实现,它使用"引用相等"(而不是"对象相等")来判断键的唯一性。具体来说,当且仅当两个键引用同一个对象时,它们被认为是相等的。
HashMap (done) Hashtable (done) Properties (done) LinkedHashMap (done) IdentityHashMap (done) TreeMap (done) WeakHashMap (done) 并发集合 ArrayBlockingQueue(done) LinkedBlockingDeque (done) ...
Hashtable 类IdentityHashMap 类WeakHashMap 类 Collections 类集合实现类特征图 泛形 泛型的使用 用泛型表示类 用泛型表示接口泛型方法 泛型通配符 反射 Class 类Field 类Method 类ClassLoader 类 枚举 枚举特性 ...
Java集合 HashMap类 IdentityHashMap类的使用 SortedMap类的基本使用 在map中创建自己的类的定义 随机数的集合 等等等等
java集合框架 3.6. LinkedHashSet类 4. Map接口 4.1. Map.Entry接口 4.2. SortedMap接口 4.3. AbstractMap抽象类 4.4. HashMap类和TreeMap类 4.4.1. HashMap类 4.4.2. TreeMap类 ...4.6. IdentityHashMap类
7.6.1 HashMap和Hashtable实现类 271 7.6.2 SortedMap接口和TreeMap实现类 276 7.6.3 WeakHashMap实现类 279 7.6.4 IdentityHashMap实现类 280 7.6.5 EnumMap实现类 281 7.7 HashSet和HashMap的性能选项 282 ...
031312_【第13章:Java类集】_IdentityHashMap类笔记.pdf 031313_【第13章:Java类集】_SortedMap类笔记.pdf 031314_【第13章:Java类集】_集合工具类:Collections笔记.pdf 031315_【第13章:Java类集】_Stack类...