/* * Ext GWT - Ext for GWT * Copyright(c) 2007-2009, Ext JS, LLC. * licensing@extjs.com * * http://extjs.com/license */ package com.extjs.gxt.ui.client.core; import java.io.Serializable; import java.util.AbstractSet; import java.util.Iterator; import java.util.Map; public class FastSet extends AbstractSet<String> implements Serializable { private Map<String, String> map; private static final String PRESENT = ""; public FastSet() { map = new FastMap<String>(); } @Override public boolean add(String s) { return map.put(s, PRESENT) == null; } @Override public void clear() { map.clear(); } @Override public boolean contains(Object o) { return map.containsKey(o); } @Override public boolean isEmpty() { return map.isEmpty(); } @Override public Iterator<String> iterator() { return map.keySet().iterator(); } @Override public boolean remove(Object o) { String s = map.remove(o); return s != null && s.equals(PRESENT); } @Override public int size() { return map.size(); } }