Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class RandomSet {
- private Map<Object, Integer> indexes = new HashMap<Object, Integer>();
- private List<Object> list = new ArrayList<Object>();
- private SecureRandom random = new SecureRandom();
- public void add(Object obj) {
- list.add(obj);
- indexes.put(obj, list.size() -1);
- }
- public void remove(Object obj) {
- final int index = indexes.get(obj);
- indexes.remove(obj);
- final Object last = list.get(list.size() - 1);
- list.set(index, last);
- list.remove(list.size() -1);
- indexes.put(last, index);
- }
- public Object random() {
- final int index = random.nextInt(list.size());
- return list.get(index);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement