`
冲杯茶喝
  • 浏览: 30711 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java-HashMap的一点讨论

 
阅读更多

这两天在写原始类型(Primitive)的HashMap,用于提高HashMap的效率。又温故了下HashMap的源码。

 

想起之前有趣的代码,所以借此拿来跟大家分享下。

 

代码如下:

 

public static void main(String[] args)
    {
        Map m = new HashMap();
        Object o1 = new Integer(1);
        Object o2 = new Long(1);
        m.put(o1, 1);
        m.put(o2, 2);
        System.out.println(m.get(1));
        System.out.println(m.get(Long.valueOf(1)));
        System.out.println(o1.hashCode());
        System.out.println(o2.hashCode());
        System.out.println(m.toString());
    }

 

在看我Debug时的图片:

断点处

debug查看内容

好了,想问大家不要去写代码,告诉我程序最后的输出是多少?

答案看附件图片4

 

至于为什么,请看源码:

自己看,我不多说什么,欢迎留言讨论。

 

  • 大小: 8 KB
  • 大小: 12 KB
  • 大小: 2.6 KB
  • 大小: 8.9 KB
  • 大小: 4.4 KB
分享到:
评论

相关推荐

    JAVA-PROGRAMS

    "JAVA-PROGRAMS"这个标题暗示了我们即将讨论的是与Java编程相关的知识,可能包括源代码、项目结构、编程概念或者特定的Java应用程序。描述中的"Java程序"进一步确认了这一点,意味着我们将深入探讨如何使用Java编写...

    Java code Java code

    标签也进一步确认了这一点,同样显示为"Java code Java code"。下面我们将详细讨论Java编程语言的关键知识点,并可能在这些文件中找到的相应内容。 1. **Java基础知识**:Java是一种面向对象的、跨平台的编程语言,...

    链地址法java代码

    10. **Java集合框架中的`HashMap`**:虽然这里我们讨论的是自定义的链地址法实现,但Java标准库中的`HashMap`类也是采用链地址法处理哈希冲突的。`HashMap`提供了内置的高效哈希表实现,可以作为参考或与自定义实现...

    java-class

    12. **集合框架**:Java的`java.util`包提供了丰富的集合框架,如ArrayList、LinkedList、HashMap等,用于存储和操作对象。 了解并熟练掌握这些知识点是编写高效、可维护的Java程序的关键。通过学习和实践,你可以...

    java代码-18 詹坤森

    标签“代码”进一步确认了这一点,意味着我们将讨论与Java编程相关的知识点。 1. **Java基础知识**: - 类与对象:Java是面向对象的编程语言,所有程序都是通过类和对象来构建的。 - 变量与数据类型:Java支持...

    Projetos-Java:Alguns projetos em Java

    描述 "Java Alguns projetos em Java" 简单地确认了这一点,指出包含了一些Java项目的具体内容。 标签 "Java" 明确了这个压缩包的主题,意味着所有内容都与Java编程语言相关。我们可以从这个标签中推断,接下来的...

    关于个人的java笔记整理

    深入一点,笔记可能还会讲解异常处理、集合框架(ArrayList、LinkedList、HashSet、HashMap等)以及接口与抽象类的区别。 在Java I/O流方面,笔记可能涵盖输入输出流的基本使用、文件操作、对象序列化和反序列化,...

    java经典毕业论文,图书管理

    2. **集合框架**:Java的集合框架(如ArrayList、LinkedList、HashMap等)在存储和操作图书数据时起到关键作用。例如,可以使用HashMap存储书籍信息,键为书号,值为书籍对象。 3. **多线程**:如果系统需要处理...

    java 实用教程

    再深入一点,我们讨论Java的I/O流系统,它是进行输入输出操作的关键。Java的流分为字节流和字符流,又可分为输入流和输出流,还有缓冲流、转换流、对象流等,满足各种数据传输需求。 对于并发编程,Java提供了线程...

    java工程师面试题

    描述中提到的链接提供了更深入的资源,尽管在这里我们无法直接访问,但我们可以根据常见Java面试题来构建一个广泛的讨论框架。 首先,Java基础是任何面试的起点,包括但不限于变量、数据类型、运算符、流程控制语句...

    125条常见的java面试笔试题大汇总.

    这一点对于理解Java中如何处理空值非常重要。 ### 4. String 与 StringBuffer 的区别 文档还提到了`String`和`StringBuffer`的区别。`String`是不可变的对象,一旦创建就不能更改;而`StringBuffer`则支持在原有...

    java课程设计

    首先,我们要讨论Java编程基础。Java是一种面向对象的编程语言,它以其跨平台性、安全性和稳定性而著名。在这个项目中,你需要熟悉Java的基本语法,包括类、对象、变量、方法以及控制流程语句(如if条件判断、for...

    Teaching java代码

    此外,还可以讨论如何使用Java集合框架(如ArrayList、LinkedList、HashMap等)进行数据管理,以及如何利用IDE(如Eclipse、IntelliJ IDEA)进行调试和代码优化。 至于提供的压缩包"Teaching",由于没有具体文件...

    dangdang.zip_Java__Java_

    "Java" 标签进一步确认了这一点。描述中的 "本次设计中使用的单片机是STC89C52" 提到的是微控制器应用,但通常Java不直接用于这类硬件编程,这可能意味着讨论的是Java在嵌入式系统或者通过某种方式(如Java ME)与...

    组Java Adlister

    2. **Java集合框架**:Adlister可能涉及到大量的数据存储和操作,因此理解ArrayList、LinkedList、HashSet、HashMap等集合类以及它们的使用场景至关重要。 3. **Java I/O与网络编程**:为了读写数据(如广告信息)...

    3ddb54758e09438da4411e0ff1bc9d13_ccf_

    对于Java编程来说,我们可以讨论以下几个关键知识点: 1. **基础语法**:Java是一种面向对象的语言,理解类、对象、封装、继承、多态等概念是必要的。同时,需要掌握变量、数据类型、运算符、流程控制语句等基本...

    编码巧克力:每天的编码:chocolate_bar:,每天一点也不有害,对财富也有好处

    4. **集合框架**:List、Set和Map接口以及ArrayList、LinkedList、HashSet、HashMap等实现类是Java编程中常用的数据结构,理解它们的特性和用法至关重要。 5. **IO流**:输入/输出流在处理文件读写、网络通信等方面...

    2024最新阿里、京东、蚂蚁等大厂面试题

    根据给定文件的信息,我们可以提炼出一系列针对2024年阿里、京东、蚂蚁等大厂面试的关键知识点。...以上仅为部分内容摘要,每一点都可以展开深入讨论。希望这些知识点能够帮助求职者更好地准备即将到来的大厂面试。

    Brian-Eric-The-Town-

    在IT行业中,Java是一种广泛应用的高级编程语言,以其“一次编写,到处运行”的特性而闻名。...不过,从上述讨论可以看出,Brian-Eric在Java编程方面具备相当的专业技能,他的项目可能涉及了Java语言的多个核心特性。

    学习笔记

    HashMap是Java中常用的数据结构,用于存储键值对。它基于哈希表实现,提供O(1)的平均查找时间。深入理解HashMap的内部工作,包括哈希函数、链表和红黑树的转换,对于提高代码效率有帮助。 5. **线程池和车间模式**...

Global site tag (gtag.js) - Google Analytics