如何将数组中的值添加到向量中

时间:2010-07-10 09:37:47

标签: java blackberry

我试图一次将一个值从一个数组存储到一个向量中,所以它就像向量应该动态地增加它的大小。在我的应用程序中,当我们单击开始按钮时,数组中的值转到另一个页面,提取的地方,&然后显示,但我正在尝试将该值添加到矢量&将它保存在黑莓的持久内存中,我只能看到最后一个已被添加到向量中,但我希望向量逐个添加我发送到其他页面的所有值,这里是代码,任何人都可以帮助我出去了

if ( quesNum != null && quesCount < quesNum.length )
{
   Vector data = new Vector();

   data.addElement ( TestScreen.quesNumber + "" );

   synchronized ( curQues )
   {

      curQuesnew = quesNum[quesCount];
      curQues.setContents ( curQuesnew + "" );
      curQues.commit();
   }

   synchronized ( disques )
   {

      System.out.println ( "value is " + data );
      disques.setContents ( data );
      disques.commit();
   }
   synchronized ( disques )
   {
      data = ( Vector ) disques.getContents(); 
   }

   if ( data.contains ( quesNum[quesCount] + "" ) )
   {
      xyz = quesNum[quesCount++];
      System.out.println ( "i shall overcome........." );

   }
   else
   {
      System.out.println ( "hardwork conqures all........." );
      xyz = quesNum[quesCount];
   }
   return xyz;

这是我每次单击下一个按钮时发送到其他页面的值,所以我试图将值存储到向量中,每次发送一个值时,bt向量只存储最新值,nt整个值//

3 个答案:

答案 0 :(得分:1)

这将是我最后一次尝试回答你的问题。注意。

这是你应该如何管理持久性向量。

static Vector data;

static PersistentObject disques = 
    PersistentStore.getPersistentObject(0x9e6d76868a999451L);
}

public static int test() {
    data = (Vector) disques.getContents();
    if (data == null) {
        System.out.println("Disques is empty!!");
        data = new Vector();
        disques.setContents(data);
    } else {
        System.out.println("Disques contains: " + data);
    }
    data.add("This is question " + data.size() + "\n");
    disques.commit();
}

每次调用test时,它都会获取持久对象的值并检查它是否已初始化。如果尚未初始化,则初始化为空Vector。然后它向向量添加一个问题并提交更改。

如果您不明白这一点,我很抱歉,但我不准备花更多时间来解释。我绝对不准备花时间试图解开您的应用程序变成的随机混乱。

答案 1 :(得分:0)

我无法理解你问题的正文。但是这里有一些简单的代码来说明如何将值添加到Vector

Vector v = new Vector();
v.add("first string");
v.add("second string");
System.out.println(v.size());  // outputs "2"
System.out.println(v.get(0));  // outputs "first string"
System.out.println(v.get(1));  // outputs "second string"

除非您有使用Vector的具体原因,否则最好使用ArrayList

答案 2 :(得分:0)

我不完全明白你想要做什么,但我可以看到你每次都在创建一个新的Vector。

Vector data = new Vector();
data.addElement ( TestScreen.quesNumber + "" );

当然,data只会包含一个元素。我猜disquesPersistentObject?所以要做的第一件事就是获取现有内容(就像你以后一样):

synchronized ( disques ) {
    data = ( Vector ) disques.getContents(); 
}

然后将您的新内容添加到data并将commit添加回PersistentObject