首页 > 代码库 > 算法6-5:哈希表应用之集合
算法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
从输出结果中可以看出,一些非法网站被过滤了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。