/*
* Copyright 2013 Guidewire Software, Inc.
*/
package gw.util.perf.objectsize;
import java.util.*;
/**
*/
public class UnmodifiableArraySet<T> extends AbstractSet<T> {
private Object[] array;
public UnmodifiableArraySet(Set<T> set) {
array = new Object[set.size()];
int i = 0;
for (T o : set) {
array[i] = o;
i++;
}
}
@Override
public Iterator<T> iterator() {
return new Iterator<T>() {
private int i = 0;
public boolean hasNext() {
return i < array.length;
}
public T next() {
T v = (T) array[i];
i++;
return v;
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
@Override
public int size() {
return array.length;
}
}