// 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);
}
}
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);
}
}
前面一个是泛型语法,限定了Map中Key和Value的类型
后一个是增强的for循环,格式是这样的
for(声明 : 表达式){ 处理} for (String word : args) {...}
就表示,对于args数组中的每个字符串,按顺序赋值给word,然后进行{}中的操作建议lz看一看JDK1.5的新特性,baidu一下,好多的
刚刚看过《jdk5.0学习笔记》。
楼主去读书频道看一眼吧。
for(declaration:expression)
stsement
就是for/in循环.expression 必须是array或者实现java.lang.Iterable接口的对象,array类型或Iterable元素必须是分配兼容于在declaration中声明的变量类型.for/in的循环变量必须要声明在循环中.和基本的for循环比较,我个人觉得就是写的代码少了,比较方便,但是不能追踪里面的控制变量及相关的问题了.
至于Map在java文档中介绍的是很全的:-)