JAVA HashMap单key多value的实现及迭代器打印(附源码)

简介: (转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景       在处理大量数据的时候,当遇到单键值多数据的情况下可以选择用HashMap配合ArrayList进行存储,使用迭代器打印相关数据。如下图: 2.代码实现 import java.awt.List;import java.io.BufferedReader;imp

(转载请注明出处:http://blog.csdn.net/buptgshengod)

1.背景

      在处理大量数据的时候,当遇到单键值多数据的情况下可以选择用HashMap配合ArrayList进行存储,使用迭代器打印相关数据。如下图:


2.代码实现

import java.awt.List;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

public class Main {
  public static void main (String[] args) throws IOException{
	  BufferedWriter writer = new BufferedWriter(new FileWriter(new File("/Users/hakuri/Desktop/data2.txt")));
      BufferedReader reader=new BufferedReader(new FileReader(new File("/Users/hakuri/Desktop/final.txt")));
      String lineTxt = null;
      //构建hashmap,单键值多数值,多个数值存在list里面。
      HashMap<String,ArrayList> custom=new HashMap<String,ArrayList>();
      

      while((lineTxt = reader.readLine()) != null){
    	  //System.out.println(lineTxt);
    	     String line=lineTxt.trim();
    	     String[] part=line.split(",");
    	     if(!custom.containsKey(part[0])){
    	    	  custom.put(part[0],new ArrayList());
    	      custom.get(part[0]).add(part[1]);
    	     }
    	     else{
    	    	 //获得对应键值的list 
    	    	 custom.get(part[0]).add(part[1]);
    	     }
    	     
      }
   
   Iterator<String> it=custom.keySet().iterator();//根据hashmap的键值创建迭代器
   while( it.hasNext()){
	   String key=(String)it.next();
	   ArrayList value=custom.get(key);
	   System.out.println(key+"--"+value);
   }
   
  }
 
  }

3.数据工程下载

    注意更改相应路径——下载地址(HashMap工程)
    


目录
相关文章
|
6天前
|
存储 安全 算法
【JAVA】HashMap扩容性能影响及优化策略
【JAVA】HashMap扩容性能影响及优化策略
|
3天前
|
人工智能 监控 Java
java互联网+智慧工地云平台SaaS源码
智慧工地以施工现场风险预知和联动预控为目标,将智能AI、传感技术、人像识别、监控、虚拟现实、物联网、5G、大数据、互联网等新一代科技信息技术植入到建筑、机械、人员穿戴设施、场地进出关口等各类设备中,实现工程管理与工程施工现场的整合
12 0
|
5天前
|
监控 Java BI
java基于云计算的SaaS医院his信息系统源码 HIS云平台源码
基于云计算技术的B/S架构的HIS系统源码,SaaS模式Java版云HIS系统,融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。
26 5
|
6天前
|
存储 Java 索引
【JAVA】HashMap的put()方法执行流程
【JAVA】HashMap的put()方法执行流程
|
6天前
|
人工智能 监控 数据可视化
Java智慧工地云平台源码带APP SaaS模式 支持私有化部署和云部署
智慧工地是指应用智能技术和互联网手段对施工现场进行管理和监控的一种工地管理模式。它利用传感器、监控摄像头、人工智能、大数据等技术,实现对施工现场的实时监测、数据分析和智能决策,以提高工地的安全性、效率和质量(技术架构:微服务+Java+Spring Cloud +UniApp +MySql)。
21 4
|
8天前
|
人工智能 监控 安全
JAVA基于SaaS模式的智慧工地云平台源码(云智慧工地解决方案)
智慧工地支持多端展示(PC端、手机端、平板端)SaaS微服务架构,项目监管端,工地管理端源码
15 0
|
8天前
|
搜索推荐 前端开发 Java
java医院绩效考核管理系统项目源码
系统需要和his系统进行对接,按照设定周期,从his系统获取医院科室和医生、护士、其他人员工作量,对没有录入信息化系统的工作量,绩效考核系统设有手工录入功能(可以批量导入),对获取的数据系统按照设定的公式进行汇算,且设置审核机制,可以退回修正,系统功能强大,完全模拟医院实际绩效核算过程,且每步核算都可以进行调整和参数设置,能适应医院多种绩效核算方式。
14 0
|
9天前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
9天前
|
设计模式 JavaScript Java
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
|
9天前
|
设计模式 存储 Java
[设计模式Java实现附plantuml源码~结构型]实现对象的复用——享元模式
[设计模式Java实现附plantuml源码~结构型]实现对象的复用——享元模式