使用: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
相关推荐
5. **Map与HashMap**:`Map`接口存储键值对,不保证元素顺序。`HashMap`是`Map`的一个实现,基于哈希表,提供快速查找。`HashMap`不是线程安全的,如果需要线程安全的映射,可以使用`ConcurrentHashMap`。 6. **DAO...
例如,`ArrayList`和`LinkedList`分别适用于随机访问和顺序遍历,而`HashMap`和`TreeMap`则用于键值对存储。 7. **IO流**:Java的IO流系统支持字符流和字节流,以及输入流和输出流的概念。学习如何正确使用流进行...
这些实例通常涵盖了许多重要的编程主题,包括但不限于变量、数据类型、控制结构、函数、类与对象、异常处理、输入/输出(I/O)以及集合框架等。 1. 变量与数据类型:在Java中,变量是存储数据的容器。Java有八种...
集合框架是Java API中的重要组成部分,它包括List(顺序访问)、Set(不允许重复元素)和Map(键值对映射)等接口,以及ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等具体实现类。集合框架允许...
IO流(输入/输出流)是Java处理数据输入和输出的重要工具。学习文件操作、网络通信以及数据的序列化和反序列化,能让你的Java应用具备强大的数据处理能力。 并发编程是现代软件开发的必备技能。Java提供了线程、...
最后,这些思维导图虽然不能替代实际编程实践,但它们提供了一个清晰的学习路径,使得学习者能够按照逻辑顺序逐步掌握Java的关键知识。通过反复查阅和理解这些思维导图,可以有效地巩固和深化对Java的理解,提高编程...
10. **输入输出流**:I/O流处理是Java中的重要概念,涉及从控制台、文件或其他数据源读取和写入数据。包括标准输入输出流(System.in, System.out)和文件I/O。 11. **图形用户界面(GUI)编程**:使用Swing库创建...
在学习过程中,建议按照课程的顺序逐步进行,遇到问题时及时查阅文档或在线资源,不断巩固和提高。 记住,学习编程最重要的是动手实践,只有通过不断地编写、调试和运行代码,才能真正掌握知识。祝你在Java自学的...
3. **输入/输出流** - **InputStream和OutputStream**:字节流的基类,用于处理二进制数据。 - **Reader和Writer**:字符流的基类,处理文本数据。 - **FileInputStream和FileOutputStream**:用于读写文件的流。...
Java的IO库提供了一套丰富的类,如FileInputStream、FileOutputStream、BufferedReader、PrintWriter等,使得数据的输入输出变得简单易行。 多线程是Java的一大特色,它允许程序同时执行多个任务。通过实现Runnable...
IO流(input/output stream)是JAVA进行文件操作的关键,分为字节流和字符流,以及输入流和输出流。NIO(New Input/Output)是JAVA 1.4引入的改进,提供了缓冲区、选择器等高级功能,提升了IO操作的效率。 多线程在...
JDK6 API文档包含了Java语言的基础类库,这些类库提供了大量的预定义类和接口,涵盖了数据类型、集合框架、输入/输出流、网络编程、多线程等多个领域。例如,`java.lang`包下的`String`类,是处理文本字符串的基础,...
同时,你还能了解到如何使用Java的输入输出流(InputStream和OutputStream)进行数据的发送和接收。 此外,Java的集合框架(如ArrayList、LinkedList、HashMap等)在聊天系统中也有重要应用。例如,服务器可能需要...
这个目录下通常会有如`lang`(语言基础)、`util`(实用工具)、`io`(输入/输出)、`net`(网络)、`sql`(数据库)等子包,每个子包对应不同的功能领域。例如,`java.lang`包是最基础的包,包含所有Java程序都会...
`java.io`则涉及输入输出操作。 2. **类(Classes)**:Java API文档详尽地列出了每个类的构造器、方法和字段。例如,`ArrayList`类是`java.util`包中的一个动态数组实现,提供了添加、删除、查找和排序元素的功能...
最后,Java标准库(JDK)包含了大量的类和接口,如输入输出、网络通信、XML解析等,这些都是Java程序员需要了解和掌握的。此外,Java SE(标准版)、Java EE(企业版)和Java ME(微型版)的不同版本,满足了不同...
1. 插入声音对话框中的“联机剪辑”功能允许用户连接到WEB,获取更多的图片和音乐资源,这体现了互联网资源的广泛性和便利性。 2. HTML代表超文本标记语言,它是网页制作的基础,用于描述网页的结构和内容。 3. ...
2. **HashMap 和 TreeMap**: HashMap实现了散列映射,提供O(1)的平均查找时间,而TreeMap则基于红黑树,保持键的排序顺序,适合对顺序有要求的场景。 3. **StringBuilder 和 StringBuffer**: 这两个类用于字符串...
10. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等集合类为存储和操作对象提供了便利。 在提供的文档“第3章 Java语言基础.doc”和“第三章”中,很可能会涵盖以上这些主题,并通过实例20来具体演示和...
异常处理机制使得程序能够优雅地处理错误,集合框架(如ArrayList、LinkedList、HashMap等)提供了数据存储和操作的便利,多线程让程序能够同时执行多个任务,I/O流负责数据的输入输出,而网络编程则涵盖了客户端...