uniquerandomgenerator.java

来自「JGAP是一种遗传算法和遗传规划的组成部分提供了一个Java框架。它提供了基本的」· Java 代码 · 共 40 行

JAVA
40
字号
package org.jgap.util;

import org.jgap.*;
import java.util.*;

public class UniqueRandomGenerator {
  private int m_upper;

  private List m_resultSet;

  private RandomGenerator m_generator;

  public UniqueRandomGenerator(int a_upperBoundary, RandomGenerator a_generator) {
    m_upper = a_upperBoundary;
    m_resultSet = new Vector();
    m_generator = a_generator;
    for (int i = 0; i < m_upper; i++) {
      m_resultSet.add(new Integer(i));
    }
  }

  public int nextInt()
      throws IllegalStateException {
    int size = m_resultSet.size();
    int index;
    if (size < 1) {
      throw new IllegalStateException("No more numbers left");
    }
    else if (size == 1) {
      index = 0;
    }
    else {
      index = m_generator.nextInt(size);
    }
    Integer result = (Integer) m_resultSet.get(index);
    m_resultSet.remove(index);
    return result.intValue();
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?