您的位置:首页 > 产品设计 > UI/UE

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

2014-04-15 11:18 465 查看
(转载请注明出处: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工程)
    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: