算法6-6:哈希表应用之字典应用
该应用的目标是实现CSV文件的查询操作。
执行举例
java QueryCSV dns.csv 0 1 baidu.com 123.125.114.144 zjgsu.edu.cn 202.96.99.58
代码
代码中使用了普林斯顿大学的Java标准库,请戳这里下载:http://introcs.cs.princeton.edu/java/stdlib/
import java.util.HashMap; import java.util.LinkedHashMap; public class QueryCSV { public static void main(String[] argv) { In in = new In(argv[0]); int keyField = Integer.parseInt(argv[1]); int valueField = Integer.parseInt(argv[2]); // 建立哈希表 HashST<String,String> map = new HashST<String, String>(); while(!in.isEmpty()) { String line = in.readLine(); String[] s = line.split(","); map.put(s[keyField], s[valueField]); } // 处理查询操作 while(!StdIn.isEmpty()) { String key = StdIn.readString(); String value = map.get(key); if(value == null) StdOut.println("Not Found"); else StdOut.println(value); } } }
dns.csv文件内容
baidu.com,123.125.114.144 zjgsu.edu.cn,202.96.99.58 abc.com,199.181.132.250
posted on 2017-05-18 13:28 cynchanpin 阅读(206) 评论(0) 编辑 收藏 举报