1 package org.jgap.util; 2 3 import org.jgap.*; 4 import java.util.*; 5 6 public class UniqueRandomGenerator { 7 private int m_upper; 8 9 private List m_resultSet; 10 11 private RandomGenerator m_generator; 12 13 public UniqueRandomGenerator(int a_upperBoundary, RandomGenerator a_generator) { 14 m_upper = a_upperBoundary; 15 m_resultSet = new Vector(); 16 m_generator = a_generator; 17 for (int i = 0; i < m_upper; i++) { 18 m_resultSet.add(new Integer (i)); 19 } 20 } 21 22 public int nextInt() 23 throws IllegalStateException { 24 int size = m_resultSet.size(); 25 if (size < 1) { 26 throw new IllegalStateException ("No more numbers left"); 27 } 28 int index = m_generator.nextInt(size); 29 Integer result = (Integer ) m_resultSet.get(index); 30 m_resultSet.remove(index); 31 return result.intValue(); 32 } 33 } 34 | Popular Tags |