需要有关hashTable的帮助

时间:2010-10-24 13:41:35

标签: java hashtable

我编写了一些可以将excel表的内容作为hashTable返回的内容。代码是

    public Object[][] validDataProviderScenarioOne() {
      excelWorker excel = new excelWorker();
      String pathValue = excelWorker.LocatingXls("Data.xls");
      Hashtable<String, String>[] hashDrv =(Hashtable<String, String>[]) excel.contentReading(pathValue, "xxxxx_Login"); 
      Object[][] obj = new Object[hashDrv.length][1];
      for(int i=0; i<hashDrv.length; i++) {
       obj[i][0] = hashDrv[i];
      }
      return obj;
   }

现在,如果excel表中有3行,则其中将包含3组数据。现在我想要的是,我想在散列表中为哈希表数组中的每个条目添加一些数据

例如: 表的内容

用户无用户名密码

1 xxxxxx yyyyy
2 aaaaaa bbbbb
3 cccccc ddddd

现在在hashTable中我想添加密钥作为浏览器和值* iexplore,* mozilla,* safari,但我不想在excel表中添加它。

所以我的hasHtable看起来像

userNo=1,userName=xxxxx,password=yyyyy,browser=*iexplore
userNo=1,userName=xxxxx,password=yyyyy,browser=*mozilla
userNo=1,userName=xxxxx,password=yyyyy,browser=*safari
userNo=2,userName=aaaaaa,password=bbbbb,browser=*iexplore
userNo=2,userName=aaaaaa,password=bbbbb,browser=*mozilla
userNo=2,userName=aaaaaa,password=bbbbb,browser=*safari
userNo=3,userName=cccccc,password=ddddd,browser=*iexplore
userNo=3,userName=cccccc,password=ddddd,browser=*mozilla
userNo=3,userName=cccccc,password=ddddd,browser=*safari

plz help,thanx提前

1 个答案:

答案 0 :(得分:1)

您可以做的最好的事情是创建一个包含所需字段的类,例如

class User {
    private int id;
    private String username;
    ...
}

并返回那些数组(或Collection)。

顺便提一下,当第二个维度硬编码到一个元素时,为什么要分配和返回二维数组?为什么不直接返回一维数组?