码迷,mamicode.com
首页 > 其他好文 > 详细

算法6-5:哈希表应用之集合

时间:2014-06-17 22:28:05      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:算法   关联数组   哈希函数   集合   

可以通过哈希表实现高效的集合操作。


接口


一个集合对象可以包含了以下接口:

public interface Set<Key extends Comparable<Key>> {
    public void add(Key key);
    public boolean contains(Key key);
    public void remove(Key key);
    public int size();
    public Iterator<Key> iterator();
}


黑名单过滤应用


代码

import java.util.Set;
import java.util.LinkedHashSet;
 
public class BlackList {
    public static void main(String[] argv) {
        String[] urls = new String[]{"baidu.com", "abc.com", "porn.com", "youtube.com", "facebook.com"};
        String[] blacklist = new String[]{"porn.com", "youtube.com", "facebook.com"};
 
        // 建立黑名单集合
        Set<String> black = new LinkedHashSet<String>();
        for(String b : blacklist) {
            black.add(b);
        }
 
        // 过滤非法网站
        for(String url : urls) {
            if(!black.contains(url)) {
                System.out.println(url);
            }
        }
    }
}


输出结果:

baidu.com
abc.com
porn.com is blocked
youtube.com is blocked
facebook.com is blocked


从输出结果中可以看出,一些非法网站被过滤了。


算法6-5:哈希表应用之集合,布布扣,bubuko.com

算法6-5:哈希表应用之集合

标签:算法   关联数组   哈希函数   集合   

原文地址:http://blog.csdn.net/caipeichao2/article/details/31414617

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!