Javaのシンプルなベクターで、ややこしい出力が得られる

Javaで非常にシンプルなVectorで、やや難しい出力を生成します。コードスニペットは次のとおりです。

package main;

import java.util.Vector;

final public class Main
{
    public static void main(String[] args)
    {        
        Vector r = new Vector();
        r.addElement("O");
        r.addElement("Y");
        r.insertElementAt("A",0);
        r.addElement("B");
        r.addElement("F");
        r.addElement("I");
        r.addElement("X");
        r.removeElement("F");
        r.insertElementAt("G",3);

        System.out.println(r);
    }
}

上記の単純なJavaコードは、実際に存在すると思われる出力とは異なる出力を生成します。上記のコードが実際に出力するのは、 [A、O、Y、G、B、I、X] です。実際には、9つの要素が含まれています。ただし、出力には7要素しか含まれていません。どうやって?

2
OMGも面白い!!
追加された 著者 Hovercraft Full Of Eels,
私は失われている、9つのものはどこですか?私は愚かですか?
追加された 著者 Dave Newton,
ハァッ?あなたは7つのものを追加し、1つを削除してから別のものを追加しました。私の算術はそれと等しいと言う... 7。
追加された 著者 Brian Roach,
@DaveNewton - いいえ、私はあなたの算術も意図したとおりに動作していると思います。
追加された 著者 Brian Roach,

2 答え

そのうちの1つが removeElement だったことに気付きましたか?

6
追加された
:: sigh ::ファイン。 +1が明白であることを指摘するため。それはちょうど不正行為のようですが:-p
追加された 著者 Brian Roach,

実際には、removeElement( "F")の文を忘れてしまいます。それが呼ばれて以来、それは削除され、残りの要素だけが示されています。この行にコメントしてもう一度やり直すと、期待した結果が得られます。乾杯!

0
追加された