`

HashMap 便利时不按照输入顺序输出

    博客分类:
  • java
阅读更多

使用:hashmap传输数据时,便利map中的数据时,发现输出的数据和插入的数据顺序不相同,

后来从网上查询了一下发现:HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。遍历时只能全部输出,而没有顺序,

如果希望map中的数据按照插入时的顺序输出时,可以使用 LinkedHashMap 。

 

实现:

 

package org.gradle;

 

import java.util.HashMap;

import java.util.Iterator;

import java.util.LinkedHashMap;

import java.util.Map;

import java.util.Map.Entry;

 

public class MapTest {

 

public void show(Map<String,Object> param){

Iterator<Entry<String, Object>> it= param.entrySet().iterator();

while(it.hasNext()){

Entry<String, Object> item =it.next();

System.out.println(item.getValue());

}

}

 

 

   public static void main(String[] args) {

 

  String productId ="ssho";

  Double price =9.0;

  String id="134566";

 

Map<String,Object> param = new HashMap<String, Object>();

param.put("productId", productId);

param.put("price", price);

param.put("id", id);

 

MapTest t = new MapTest();

System.out.println(" HashMap 输出:");

t.show(param);

 

Map<String,Object> param2 = new LinkedHashMap<String, Object>();

param2.put("productId", productId);

param2.put("price", price);

param2.put("id", id);

 

System.out.println("LinkedHashMap 输出:");

t.show(param2);

}

 

}

 

 

 

结果:

 

 HashMap 输出:

id:134566

price:9.0

productId:ssho

 

LinkedHashMap 输出:

productId:ssho

price:9.0

id:134566

分享到:
评论

相关推荐

    java常用技术

    5. **Map与HashMap**:`Map`接口存储键值对,不保证元素顺序。`HashMap`是`Map`的一个实现,基于哈希表,提供快速查找。`HashMap`不是线程安全的,如果需要线程安全的映射,可以使用`ConcurrentHashMap`。 6. **DAO...

    java编程常见50例

    例如,`ArrayList`和`LinkedList`分别适用于随机访问和顺序遍历,而`HashMap`和`TreeMap`则用于键值对存储。 7. **IO流**:Java的IO流系统支持字符流和字节流,以及输入流和输出流的概念。学习如何正确使用流进行...

    java编程150例

    这些实例通常涵盖了许多重要的编程主题,包括但不限于变量、数据类型、控制结构、函数、类与对象、异常处理、输入/输出(I/O)以及集合框架等。 1. 变量与数据类型:在Java中,变量是存储数据的容器。Java有八种...

    java开发的中文API

    集合框架是Java API中的重要组成部分,它包括List(顺序访问)、Set(不允许重复元素)和Map(键值对映射)等接口,以及ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等具体实现类。集合框架允许...

    JAVA学习宝典

    IO流(输入/输出流)是Java处理数据输入和输出的重要工具。学习文件操作、网络通信以及数据的序列化和反序列化,能让你的Java应用具备强大的数据处理能力。 并发编程是现代软件开发的必备技能。Java提供了线程、...

    JAVA基础思维导图【xmind格式】.zip

    最后,这些思维导图虽然不能替代实际编程实践,但它们提供了一个清晰的学习路径,使得学习者能够按照逻辑顺序逐步掌握Java的关键知识。通过反复查阅和理解这些思维导图,可以有效地巩固和深化对Java的理解,提高编程...

    Java程序设计课件汇总全书电子教案完整版课件.ppt

    10. **输入输出流**:I/O流处理是Java中的重要概念,涉及从控制台、文件或其他数据源读取和写入数据。包括标准输入输出流(System.in, System.out)和文件I/O。 11. **图形用户界面(GUI)编程**:使用Swing库创建...

    java自学小课程(附源码)

    在学习过程中,建议按照课程的顺序逐步进行,遇到问题时及时查阅文档或在线资源,不断巩固和提高。 记住,学习编程最重要的是动手实践,只有通过不断地编写、调试和运行代码,才能真正掌握知识。祝你在Java自学的...

    java中文API文档

    3. **输入/输出流** - **InputStream和OutputStream**:字节流的基类,用于处理二进制数据。 - **Reader和Writer**:字符流的基类,处理文本数据。 - **FileInputStream和FileOutputStream**:用于读写文件的流。...

    Java学习笔记(必看经典)

    Java的IO库提供了一套丰富的类,如FileInputStream、FileOutputStream、BufferedReader、PrintWriter等,使得数据的输入输出变得简单易行。 多线程是Java的一大特色,它允许程序同时执行多个任务。通过实现Runnable...

    JAVA学习笔记(完整版)

    IO流(input/output stream)是JAVA进行文件操作的关键,分为字节流和字符流,以及输入流和输出流。NIO(New Input/Output)是JAVA 1.4引入的改进,提供了缓冲区、选择器等高级功能,提升了IO操作的效率。 多线程在...

    jdk6_api文档 中文版

    JDK6 API文档包含了Java语言的基础类库,这些类库提供了大量的预定义类和接口,涵盖了数据类型、集合框架、输入/输出流、网络编程、多线程等多个领域。例如,`java.lang`包下的`String`类,是处理文本字符串的基础,...

    Java学习资料&项目源码&教程,基于java的聊天系统的设计实现.zip

    同时,你还能了解到如何使用Java的输入输出流(InputStream和OutputStream)进行数据的发送和接收。 此外,Java的集合框架(如ArrayList、LinkedList、HashMap等)在聊天系统中也有重要应用。例如,服务器可能需要...

    java-api part3

    这个目录下通常会有如`lang`(语言基础)、`util`(实用工具)、`io`(输入/输出)、`net`(网络)、`sql`(数据库)等子包,每个子包对应不同的功能领域。例如,`java.lang`包是最基础的包,包含所有Java程序都会...

    javaAPI中文文档

    `java.io`则涉及输入输出操作。 2. **类(Classes)**:Java API文档详尽地列出了每个类的构造器、方法和字段。例如,`ArrayList`类是`java.util`包中的一个动态数组实现,提供了添加、删除、查找和排序元素的功能...

    经典JAVA教程

    最后,Java标准库(JDK)包含了大量的类和接口,如输入输出、网络通信、XML解析等,这些都是Java程序员需要了解和掌握的。此外,Java SE(标准版)、Java EE(企业版)和Java ME(微型版)的不同版本,满足了不同...

    2021-2022计算机二级等级考试试题及答案No.4166.docx

    1. 插入声音对话框中的“联机剪辑”功能允许用户连接到WEB,获取更多的图片和音乐资源,这体现了互联网资源的广泛性和便利性。 2. HTML代表超文本标记语言,它是网页制作的基础,用于描述网页的结构和内容。 3. ...

    28个java常用的工具类源码

    2. **HashMap 和 TreeMap**: HashMap实现了散列映射,提供O(1)的平均查找时间,而TreeMap则基于红黑树,保持键的排序顺序,适合对顺序有要求的场景。 3. **StringBuilder 和 StringBuffer**: 这两个类用于字符串...

    java语言基础 详解 java实例20

    10. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等集合类为存储和操作对象提供了便利。 在提供的文档“第3章 Java语言基础.doc”和“第三章”中,很可能会涵盖以上这些主题,并通过实例20来具体演示和...

    java基础

    异常处理机制使得程序能够优雅地处理错误,集合框架(如ArrayList、LinkedList、HashMap等)提供了数据存储和操作的便利,多线程让程序能够同时执行多个任务,I/O流负责数据的输入输出,而网络编程则涵盖了客户端...

Global site tag (gtag.js) - Google Analytics