JAVA HashMap单key多value的实现及迭代器打印(附源码)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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工程)
    


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章