关于池的概念

现在有个任务,写一个号码池,主要功能就是池里面有很多电话号码,请求来了之后根据一定的规则选择一个号码发送短信。目的是防止运营商对一个发送大量信息的号码封号。用java语言实现,有没有高手给讲讲 这个号码池改怎么实现呢? 谢谢

需求很简单,是你想复杂了,还是我没理解清楚。
目的是防止号码被封,所以希望发送短信的号码能够均衡。
把这些号码统一放到list中,然后产生0-list.size()-1之间的随机数,选择该随机数对应的号码发送短信就行了吧。
如果对均衡性有要求,可以对每次发送的号码记录发送次数,然后再处理。

1、队列 不是更简单吗?

2、堆,根据规则计算 权重。

上一个简单的demo:
[code="java"]
package com.learnworld.random;

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class NumberTest {
private static Integer[] numberArray;
private static Random rand = new Random(System.currentTimeMillis());

static {
    Set<Integer> numberSet = new HashSet<Integer>();
    for (int i = 0; i < 100; i++){
        numberSet.add(i);
    }
    numberArray = numberSet.toArray(new Integer[0]);
}

/**
 * @param args
 */
public static void main(String[] args) {
    for (int j = 0; j < 10; j++){
        System.out.println("number: " + getNumber());
    }
}

/**
 * get number
 * @return number
 */
public static int getNumber(){
    return numberArray[rand.nextInt(numberArray.length)];
}

}
[/code]