HashMap hashMap = new HashMap();
//赋值
for(***)
{
Integer key = new Integer(j);
Double value = new Integer(sum);
hashMap.put(key, value);
}//取值
for(***)
{
Integer key = new Integer(i);
Double value = (Double)hashMap.get(key);
System.out.println(value);
}
//赋值
for(***)
{
Integer key = new Integer(j);
Double value = new Integer(sum);
hashMap.put(key, value);
}//取值
for(***)
{
Integer key = new Integer(i);
Double value = (Double)hashMap.get(key);
System.out.println(value);
}
楼上的方法没作用,你自己看他的程序,是多线程,用HashMap解决不了啊!!
也不行,
关注ING
{
public static void main(String[] args)
{
new NumberProduce().start();
while (true)
{
int count = Thread.activeCount();
/**
* System.out.println("The active thread count is :" + count);
*/
if (count == 1)
{
break;
}
} for (int i = 0;i < 10;i++)
{
Integer j = new Integer(i);
Double d = (Double)hashMap.get(j);
System.out.println("(To print)The sum is : " + d.doubleValue());
}
} double sum;
static HashMap hashMap = new HashMap(); public void run()
{
for (int j = 0;j < 10;j++)
{
sum = 0;
for (int i = 0;i < 50;i++)
{
sum += Math.random();
} System.out.println("The produced sum is : " + sum);
Integer i = new Integer(j);
Double d = new Double(sum);
hashMap.put(i, d);
}
}
}
extends Thread {
static Vector container_ = new Vector();
public void run() {
for (int j = 0; j < 10; j++) {
double sum = 0;
for (int i = 0; i < 50; i++) {
sum += Math.random();
}
synchronized (container_){
container_.add(j, new Double(sum));
}
}
} public static void main(String[] args) {
int numberOfThreads = 10;
asdf2[] threads = new asdf2[numberOfThreads];
for (int i = 0; i < numberOfThreads; i++) {
threads[i] = new asdf2();
threads[i].start();
}
for (int i = 0; i < numberOfThreads; i++) {
try {
threads[i].join();
} catch (java.lang.InterruptedException ex){
ex.printStackTrace();
}
}
for (int i = 0; i < numberOfThreads; i++) {
System.out.println(container_.get(i));
}
}
}