`

HashMap里插入数字一到十,然后再逐个取出来

阅读更多

初见这道题,有点奇怪,后来稍微想了一下,其实了解了HashMap的工作原理就很简单了,因为HashMap本身元素插入顺序是无序的,但是对于Hash冲突的地方是一个链表,链表的加入是放在链头的,其实是个有序的插入顺序,因此只要我们刻意去造成Hash冲突,让HashMap变成一个链表就可以了,其实很简单,只要我们把HashMap 初始化的size设置为1就可以了。

 

见下面的程序:

 

package hashmap;

import java.util.HashMap;
import java.util.Map;

/**
 *
 *<p>Test</p>
 *<p>Description:</P>
 *<p>Company:Cisco CAS</p>
 *<p>Department:CAS</p>
 *@Author: Tommy Zhou
 *@Since: 1.0
 *@Version:Date:2011-5-5
 *
 **/

public class SortedHashMapTest {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>(1);
        map.put("1", "1");
        map.put("2", "2");
        map.put("3", "3");
        Object[] objects = map.keySet().toArray();
        for (int i = objects.length-1; i >=0; i--) {
          System.out.println(objects[i]);
        }
    }
}

分享到:
评论

相关推荐

    hashmap面试题_hashmap_

    HashMap是一个基于哈希表实现的键值对存储结构,它提供了快速的插入、删除和查找操作,平均时间复杂度为O(1)。HashMap非线程安全,适合于单线程环境或已经通过并发工具类控制并发的场景。 二、HashMap底层原理 ...

    HashMap的数据结构

    HashMap在内部实现上基于哈希表,也称为散列表,它提供了一种快速查找、插入和删除数据的方法,平均时间复杂度为O(1)。 HashMap的工作原理基于哈希函数,它将键(Key)转化为一个哈希码(Hash Code),这个哈希码...

    用HashMap写的一个小Demo用来写游戏排名的一种方法

    这段代码首先获取HashMap的所有条目,然后按照值进行降序排序(高分在前),最后将其收集到一个List中。现在,`sortedEntries`列表就包含了按得分排名的玩家。 如果我们要输出这个排名,可以遍历这个排序后的列表:...

    一个基于js的HashMap

    在JavaScript中,HashMap是一种数据结构,它允许我们通过键(key)来存储和检索值(value),类似于对象,但提供了一种更高效的方式来处理大量数据。JavaScript原生并不支持HashMap,但开发者可以通过自定义类来实现...

    hashmap实现原理

    它首先计算键的哈希码,然后找到对应数组索引,如果该位置已经有元素存在,则将新的键值对插入到链表头部。同时,`addEntry()`会检查当前HashMap的大小是否超过了阈值(size &gt;= threshold),如果是,则执行`resize...

    java 使用web service读取HashMap里的数值

    ### Java使用WebService读取HashMap里的数值 #### 背景介绍 在Java开发中,`WebService`是一种常用的技术栈,用于实现不同系统间的通信。它允许应用程序之间通过标准的HTTP协议进行数据交换与方法调用,这对于...

    HashMap介绍和使用

    所有的复杂数据结构都可以基于这两种基本结构构建出来,HashMap也不例外。 **1.1 数组和链表结合** HashMap内部采用数组加链表(或红黑树)的形式存储数据,这种结构称为“链表散列”。数组作为主存储结构,而链表...

    hashmap 实例

    这段代码创建了一个 HashMap 对象并填充了1000个键值对,键为字符串形式的数字,值为"hello"。接着,通过 `iterator` 遍历 HashMap 的键集并获取对应的值: ```java Iterator iterator = hashmap.keySet().iterator...

    简单的key value hashmap

    HashMap是Java集合框架的一部分,它提供了高效的查找、插入和删除操作,平均时间复杂度为O(1)。在深入探讨HashMap之前,我们需要理解其基本概念。 HashMap基于哈希表实现,哈希表是一种通过计算键的哈希码来快速...

    用HashMap模拟一个网上购物车

    在本实验中,我们通过使用Java语言中的`HashMap`来模拟一个简单的网上购物车系统。该项目的主要目的是熟悉Java集合框架中的`HashMap`类,并了解如何利用它来存储、管理和检索数据。此外,我们还将学习如何使用`...

    hashMap工具类

    `public function putAll(map:HashMap):void` 方法用于将另一个`HashMap`的所有键值对合并到当前`HashMap`中。此操作会先清空当前`HashMap`,然后将另一个`HashMap`中的数据复制过来。 ##### `size`: 获取大小 `...

    Java HashMap类详解

    HashMap 的使用可以通过创建一个 HashMap 对象,然后使用 put 方法将 key-value 对添加到该对象中。例如: Java 代码 HashMap, Double&gt; map = new HashMap, Double&gt;(); map.put("语文", 80.0); map.put("数学", ...

    自定义map实现java的hashmap

    在Java编程中,HashMap是一个非常重要的数据结构,它实现了Map接口,提供了键值对的存储功能,具有快速存取和高效查找的特点。HashMap基于哈希表(也称为散列表)原理,通过键对象的哈希码来定位元素,进而实现O(1)...

    HashMap类.rar

    HashMap类在Java编程语言中是集合框架的一部分,它是一个基于哈希表的Map接口实现。HashMap提供了快速的插入、删除和查找操作,平均时间复杂度为O(1)。在这个压缩包“HashMap类.rar”中,包含的是易语言版本的...

    Java中HashMap的工作机制

    在Java中,HashMap是一种广泛使用的数据结构,它基于...总的来说,Java中的HashMap是一个灵活且高效的数据结构,适用于快速的查找和插入操作。理解其基于哈希的工作原理对于充分利用HashMap的性能优势是非常有帮助的。

    HASHMAP排序功能描述

    HashMap是Java编程语言中常用的集合类之一,它属于哈希表数据结构,提供key-value的存储方式,并且具有快速查询的特性。然而,HashMap本身并不保证元素的顺序,特别是当涉及到遍历或输出HashMap的内容时,顺序可能会...

    全手写HashMap精简版Demo 可直接允许查看效果

    HashMap是Java编程中常用的一种数据结构,用于存储键值对,提供快速的存取操作。在Java中,HashMap是基于哈希表实现的,它的核心原理是哈希函数和链表(或红黑树)来解决冲突。在这个“全手写HashMap精简版Demo”中...

    易语言HashMap类

    2. **加入**:HashMap类提供`加入`方法,用于将键值对插入到哈希表中。这个过程包括计算键的散列值、找到对应的存储位置并处理潜在的哈希冲突。 3. **取值**:通过键来获取对应的值是HashMap类的重要功能。当给定一...

    一个delphi的hashmap源代码

    在IT行业中,哈希表(HashMap)是一种高效的数据结构,它使用哈希函数将键(Key)映射到数组的特定位置,以便快速存取数据。Delphi是一种强大的Object Pascal编程语言,它提供了多种实现哈希表的方式。在这个特定的...

Global site tag (gtag.js) - Google Analytics