应用jdk1.5中新引进的polymorphic机制,并应用Cllection 框架中
的 Set 实现去处字符串中重复字符的非常简单的方法。(恰当的
利用的Set的机制):
import java.util.*;
public class FindDups {
public static void main(String args[]) {
Set<String> s = new HashSet<String>();
for (String a : args)
if (!s.add(a))
System.out.println("Duplicate: " + a);
System.out.println(s.size()+" distinct words: "+s);
}
}
//************************************************//
另外,要注意一下Collection 中的成批操作的应用:
Set<Type> union = new HashSet<Type>(s1);
union.addAll(s2);
Set<Type> intersection = new HashSet<Type>(s1);
intersection.retainAll(s2);
Set<Type> difference = new HashSet<Type>(s1);
difference.removeAll(s2);
//************************************************//
以上代码中应用了 JDK1.5中新加入的“加强型”的 for 语句,
这种for语句,使得在需要遍历数组或任何Collection型时的代码
现代异常的简洁,如下对比:
旧的for语句:
void cancelAll(Collection<TimerTask> c) {
for (Iterator<TimerTask> i = c.iterator(); i.hasNext(); )
i.next().cancel();
}
//
新式的for语句:
void cancelAll(Collection<TimerTask> c) {
for (TimerTask t : c)
t.cancel();
}
当嵌套多个for语句时,代码将会显得比过去更加的简洁:)
//待续。。。将会有java的深入一些的知识