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


    能够通过哈希表实现高效的集合操作。


    接口


    一个集合对象能够包括了下面接口:

    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


    从输出结果中能够看出,一些非法站点被过滤了。


  • 相关阅读:
    G D 3 2 预 处 理 符 号 配 置 中 定 义
    指针接收函数
    SMT(SF)
    电流高端采样问题
    简单分析一个采集交流电压平均值的电路
    i--和--i的区别
    结构体共用体的使用
    .net Filter 和 代理模式杂谈
    Spring boot 日志 Logback
    spring boot 使用 mongodb
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3973889.html
Copyright © 2020-2023  润新知