Javolution 6.0.0 java
FastSet.java
Go to the documentation of this file.
1 /*
2  * Javolution - Java(TM) Solution for Real-Time and Embedded Systems
3  * Copyright (C) 2012 - Javolution (http://javolution.org/)
4  * All rights reserved.
5  *
6  * Permission to use, copy, modify, and distribute this software is
7  * freely granted, provided that this notice is preserved.
8  */
9 package javolution.util;
10 
11 import static javolution.lang.Realtime.Limit.CONSTANT;
12 
13 import java.util.Set;
14 
15 import javolution.lang.Realtime;
25 
37 public class FastSet<E> extends FastCollection<E> implements Set<E> {
38 
39  private static final long serialVersionUID = 0x600L; // Version.
40 
44  private final SetService<E> service;
45 
50  public FastSet() {
51  this(Equalities.STANDARD);
52  }
53 
60  .keySet();
61  }
62 
67  this.service = service;
68  }
69 
71  // Views.
72  //
73 
74  @Override
75  public FastSet<E> atomic() {
76  return new FastSet<E>(new AtomicSetImpl<E>(service()));
77  }
78 
79  @Override
80  public FastSet<E> filtered(final Predicate<? super E> filter) {
81  return new FastSet<E>(new FilteredSetImpl<E>(service(), filter));
82  }
83 
84  @Override
85  public FastSet<E> shared() {
86  return new FastSet<E>(new SharedSetImpl<E>(service()));
87  }
88 
89  @Override
91  return new FastSet<E>(new UnmodifiableSetImpl<E>(service()));
92  }
93 
95  // Set operations new annotations.
96  //
97 
98  @Override
99  @Realtime(limit = CONSTANT)
100  public boolean isEmpty() {
101  return size() == 0;
102  }
103 
104  @Override
105  @Realtime(limit = CONSTANT)
106  public int size() {
107  return service.size();
108  }
109 
110  @Override
111  @Realtime(limit = CONSTANT)
112  public void clear() {
113  service.clear();
114  }
115 
116  @Override
117  @Realtime(limit = CONSTANT)
118  public boolean contains(Object obj) {
119  return service.contains(obj);
120  }
121 
122  @Override
123  @Realtime(limit = CONSTANT)
124  public boolean remove(Object obj) {
125  return service.remove(obj);
126  }
127 
129  // Misc.
130  //
131 
132  @Override
133  public FastSet<E> addAll(E... elements) {
134  return (FastSet<E>) super.addAll(elements);
135  }
136 
137  @Override
139  return (FastSet<E>) super.addAll(that);
140  }
141 
142  @Override
143  protected SetService<E> service() {
144  return service;
145  }
146 }
javolution.util.FastCollection.comparator
Equality<? super E > comparator()
Definition: FastCollection.java:574
javolution.util.internal.set.AtomicSetImpl
Definition: AtomicSetImpl.java:18
javolution.util.function.Equalities.IDENTITY
static final Equality< Object > IDENTITY
Definition: Equalities.java:40
javolution.util.function.Equalities.STANDARD
static final Equality< Object > STANDARD
Definition: Equalities.java:31
javolution
javolution.util.internal
javolution.util.FastSet.remove
boolean remove(Object obj)
Definition: FastSet.java:124
javolution.util.service
Definition: BitSetService.java:9
javolution.lang.Realtime.Limit
Definition: Realtime.java:81
javolution.util.internal.set.SharedSetImpl
Definition: SharedSetImpl.java:18
javolution.util.internal.set.FilteredSetImpl
Definition: FilteredSetImpl.java:19
javolution.util.FastSet.serialVersionUID
static final long serialVersionUID
Definition: FastSet.java:39
javolution.util.internal.set
Definition: AtomicSetImpl.java:9
javolution.util.FastSet.atomic
FastSet< E > atomic()
Definition: FastSet.java:75
javolution.util.FastSet.clear
void clear()
Definition: FastSet.java:112
javolution.util.FastSet.FastSet
FastSet(SetService< E > service)
Definition: FastSet.java:66
javolution.util.function.Equality
Definition: Equality.java:39
javolution.lang
Definition: Configurable.java:9
javolution.util.function.Equalities
Definition: Equalities.java:20
javolution.util.function.Predicate
Definition: Predicate.java:25
javolution.util.FastSet.service
SetService< E > service()
Definition: FastSet.java:143
javolution.util.function
Definition: Consumer.java:9
javolution.lang.Realtime.Limit.CONSTANT
CONSTANT
Definition: Realtime.java:86
javolution.lang.Realtime
Definition: Realtime.java:59
javolution.util.FastCollection
Definition: FastCollection.java:166
javolution.util.FastSet.FastSet
FastSet()
Definition: FastSet.java:50
javolution.util.internal.map.MapView.keySet
SetService< K > keySet()
Definition: MapView.java:272
javolution.util.internal.set.UnmodifiableSetImpl
Definition: UnmodifiableSetImpl.java:18
javolution.util.FastSet.contains
boolean contains(Object obj)
Definition: FastSet.java:118
javolution.util.FastSet.size
int size()
Definition: FastSet.java:106
javolution.util.service.SetService
Definition: SetService.java:19
javolution.util.FastSet.addAll
FastSet< E > addAll(FastCollection<? extends E > that)
Definition: FastSet.java:138
javolution.util.FastSet.service
final SetService< E > service
Definition: FastSet.java:44
javolution.util.FastSet.filtered
FastSet< E > filtered(final Predicate<? super E > filter)
Definition: FastSet.java:80
javolution.util.internal.map.FastMapImpl
Definition: FastMapImpl.java:23
javolution.util.FastSet.isEmpty
boolean isEmpty()
Definition: FastSet.java:100
javolution.util.FastSet
Definition: FastSet.java:37
javolution.util
Definition: FastBitSet.java:9
javolution.util.FastSet.FastSet
FastSet(Equality<? super E > comparator)
Definition: FastSet.java:58
javolution.util.FastSet.addAll
FastSet< E > addAll(E... elements)
Definition: FastSet.java:133
javolution.util.FastSet.unmodifiable
FastSet< E > unmodifiable()
Definition: FastSet.java:90
javolution.util.internal.map
Definition: AtomicMapImpl.java:9
javolution.util.FastSet.shared
FastSet< E > shared()
Definition: FastSet.java:85