Vector<Pair> Pairs = new Vector<Pair>();
for (int i=0; i!= Size; i++){
Pair p = new Pair();
Pairs.add(p);
System.out.println(i+ " "+ Pairs.get(i).Pair); // first output
}
for(int i=0; i!=Pairs.size();i++){
System.out.println("p"+ i+ " "+ Pairs.get(i).Pair); // second output
}
Pair クラスのベクトルを初期化すると、Pair クラスは 2 つの倍精度数をランダムに生成します。次に、上記のコードのようにペアのベクトルを作成しようとします。ベクトルが初期化されているときに 2 つの出力が生成され、1 つはベクトル ペアの後に生成されます。作られています。なぜ結果が異なるのか、出力の2番目の部分は同じ要素を繰り返すだけですが、それらは同じであるはずです。出力は次のとおりです。
0 [-0.9771848260519362, 0.3677255241044455]
1 [-0.453064196696608, 0.10266228385031217]
2 [0.7337531470828571, -0.9331922628126463]
3 [-0.8083142272953654, -0.8923373383889719]
4 [0.19338350002773197, 0.8060945513704245]
5 [0.01753932066182662, 0.4739045577520977]
6 [-0.10060179118660373, 0.5392480353575093]
7 [0.01970274932747107, 0.4450926528405188]
8 [-0.7520808447905654, -0.4791789391059751]
9 [0.4907563252803737, 0.7654845250011753]
p0 [0.4907563252803737, 0.7654845250011753]
p1 [0.4907563252803737, 0.7654845250011753]
p2 [0.4907563252803737, 0.7654845250011753]
p3 [0.4907563252803737, 0.7654845250011753]
p4 [0.4907563252803737, 0.7654845250011753]
p5 [0.4907563252803737, 0.7654845250011753]
p6 [0.4907563252803737, 0.7654845250011753]
p7 [0.4907563252803737, 0.7654845250011753]
p8 [0.4907563252803737, 0.7654845250011753]
p9 [0.4907563252803737, 0.7654845250011753]