我是J2ME的新手。我有一个称为位置的矢量,可以打印出来

[{X=NM0001-1, ccc=1327_10},
{X=NM0001-2, ccc=1329_10},
{X=NM0001-3, ccc=691_10}]


当我把System.out.println(locations);
我设置了“ X”,并且“ ccc”是键。
在我的程序中,我想查询“ ccc”的某些值,“ X”值是什么。任何帮助将非常感激。

最佳答案

您是否需要像这样构造数据?

有几件事情要考虑:


对于ccc的每个值,只有一个关联值X?
Vector中项目的顺序在这里重要吗?
数据结构的内容是静态的,即您是在程序执行期间将数据添加到结构中,还是在启动时一次写入?
您要从结构中删除数据吗?


如果关联的值是唯一的,则可以将数据以ccc值作为键保存在单个Hashtable中,然后检索特定键的值很简单。如果键的顺序很重要,则可以维护一个单独的键向量。

否则,您将不得不遍历Vector,从每个Hashtable中检索ccc键的值,如果该值与您的搜索值匹配,则检索X键的值作为结果。像这样:

for ( int i = 0; i < locations.size( ); i++ ) {
    Hashtable ht = (Hashtable) locations.elementAt( i );
    if ( key.equals( ht.get( "ccc" ) ) ) {
        System.out.println( "Value for key " + key + "=" + ht.get( "X" ) );
    }
}

关于java - J2ME vector 的哈希表查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2898369/

10-11 04:48