// Prints a frequency table of the words on the command line
public class Frequency {
   public static void main(String[] args) {
      Map<String, Integer> m = new TreeMap<String, Integer>();
//上面的我不太明白,JAVA有这样的语法吗?不太常见 ,那是什么意思?
      for (String word : args) {
//上面的冒号是什么意思?
          Integer freq = m.get(word);
          m.put(word, (freq == null ? 1 : freq + 1));
      }
      System.out.println(m);
   }
}

解决方案 »

  1.   

    这些都是JDK1.5的新特性
    前面一个是泛型语法,限定了Map中Key和Value的类型
    后一个是增强的for循环,格式是这样的
    for(声明 : 表达式){ 处理} for (String word : args) {...}
    就表示,对于args数组中的每个字符串,按顺序赋值给word,然后进行{}中的操作建议lz看一看JDK1.5的新特性,baidu一下,好多的
      

  2.   

    JDK 1.5之后加入的范型编程,也就是和C++的模板是一个效果那个冒号没用过,看起来还有点像JScript
      

  3.   

    楼上的楼上正解。
    刚刚看过《jdk5.0学习笔记》。
    楼主去读书频道看一眼吧。
      

  4.   

    你说的是在5.0下的情况.
    for(declaration:expression) 
        stsement
    就是for/in循环.expression 必须是array或者实现java.lang.Iterable接口的对象,array类型或Iterable元素必须是分配兼容于在declaration中声明的变量类型.for/in的循环变量必须要声明在循环中.和基本的for循环比较,我个人觉得就是写的代码少了,比较方便,但是不能追踪里面的控制变量及相关的问题了.
    至于Map在java文档中介绍的是很全的:-)