//============================================================== // Dictionary.java - Create dictionary using TreeMap and LinkedList // // Java学习源代码检索系统 Ver 1.0 20031015 免费正式版 // 版权所有: 中国IT认证实验室(www.ChinaITLab.com) // 程序制作: ChinaITLab网校教研中心 // 主页地址: www.ChinaITLab.com 中国IT认证实验室 // 论坛地址: bbs.chinaitlab.com // 电子邮件: Java@ChinaITLab.com //============================================================== import java.util.*; import java.io.*; class Dictionary { // Construct TreeMap dictionary container static TreeMap dict = new TreeMap(); // Lookup and show definition for the specified word (key) static void showDefinition(String word) { LinkedList defs = (LinkedList)dict.get(word); if (defs == null) return; // Ignore if not there ListIterator L = defs.listIterator(); int count = 1; // Definition counter System.out.println("\n" + word); while (L.hasNext()) { String definition = (String)L.next(); System.out.println(count++ + ". " + definition); } } // Display entire dictionary static void showDictionary() { Iterator I = dict.keySet().iterator(); while (I.hasNext()) showDefinition((String)I.next()); } // Add a new word and/or definition static void addWord(String word, String definition) { if (dict.containsKey(word)) { LinkedList defs = (LinkedList)dict.get(word); defs.add(definition); // Add new definition only } else { LinkedList defs = new LinkedList(); // New list defs.add(definition); // Add definition to new list dict.put(word, defs); // Add word and defs association } } public static void main(String args[]) { // Read words and definitions into the container try { FileReader fr = new FileReader("Dictionary.txt"); BufferedReader br = new BufferedReader(fr); String word = br.readLine(); while (word != null) { addWord(word, br.readLine()); // Add word and definition br.readLine(); // Skip blank line word = br.readLine(); // Read next word } } catch (FileNotFoundException e) { System.out.println("File not found: " + e.getMessage()); } catch (IOException e) { System.out.println("I/O error: " + e.getMessage()); } // Look up one word or show entire dictionary if (args.length == 0) showDictionary(); // Show all else showDefinition(args[0]); // Show selection } // main } // class
最近下载更多
2544486 LV2
2019年7月3日
zhangyi0328 LV1
2019年3月18日
zero_land LV2
2017年8月22日
daniel_gjg LV25
2016年3月4日
fishbin LV25
2015年7月13日
AXIN LV36
2014年2月26日
ba370921 LV5
2013年2月21日