首页>代码>java map用法实例>/c17/Dictionary/Dictionary.java
//==============================================================
// 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日
最近浏览更多
1112WHQ  LV7 2023年11月3日
PangPanda 2021年12月8日
暂无贡献等级
 LV10 2021年6月12日
hwj123456  LV4 2020年6月28日
弥尘123456  LV4 2020年2月19日
xp95323  LV14 2019年11月30日
zhu132  LV11 2019年7月27日
2544486  LV2 2019年7月3日
chennguo  LV6 2019年4月26日
zhangyi0328  LV1 2019年3月18日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友