技术为人所用

--Sun

Java 中的一些更深入些的知识。。。

应用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的深入一些的知识

阅读更多
个人分类: 过招技术
上一篇java中竟然能用中文作变量名,还是 Unicode 牛
下一篇Collection学习(1)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭