TransientSet() { this.delegate = (ITransientSet) PersistentHashSet.EMPTY.asTransient(); }
public static PersistentHashSet create(Object... init){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); for(int i = 0; i < init.length; i++) { ret = (ITransientSet)ret.conj(init[i]); } return (PersistentHashSet)ret.persistent(); }
public static PersistentHashSet create(List init){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); for(Object key : init) { ret = (ITransientSet) ret.conj(key); } return (PersistentHashSet)ret.persistent(); }
public static PersistentHashSet createWithCheck(List init){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); int i=0; for(Object key : init) { ret = (ITransientSet) ret.conj(key); if(ret.count() != i + 1) throw new IllegalArgumentException("Duplicate key: " + key); ++i; } return (PersistentHashSet) ret.persistent(); }
public static PersistentHashSet createWithCheck(Object... init){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); for(int i = 0; i < init.length; i++) { ret = (ITransientSet) ret.conj(init[i]); if(ret.count() != i + 1) throw new IllegalArgumentException("Duplicate key: " + init[i]); } return (PersistentHashSet) ret.persistent(); }
static public PersistentHashSet create(ISeq items){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); for(; items != null; items = items.next()) { ret = (ITransientSet) ret.conj(items.first()); } return (PersistentHashSet)ret.persistent(); }
static public PersistentHashSet createWithCheck(ISeq items){ ITransientSet ret = (ITransientSet)EMPTY.asTransient(); for(int i=0; items != null; items = items.next(), ++i) { ret = (ITransientSet) ret.conj(items.first()); if(ret.count() != i + 1) throw new IllegalArgumentException("Duplicate key: " + items.first()); } return (PersistentHashSet) ret.persistent(); }