Java 哈希表帮助-使用字符串

Java 哈希表帮助-使用字符串,java,string,hashtable,Java,String,Hashtable,我想获取一个字符串str和一个int wSize,并使用它创建一个哈希表。举个例子是解释我想要什么的最好方法 例如: str=“字母表” wSize=2 我想要一个如下所示的哈希表: 铝0 lp 1 ph值2 ha 3 ab 4 五岁 et 6 这就是我目前所拥有的 public static void hashTableCreator (String str, int wSize) { Hashtable ht = new Hashtable(); str = "alphabe

我想获取一个字符串str和一个int wSize,并使用它创建一个哈希表。举个例子是解释我想要什么的最好方法

例如: str=“字母表” wSize=2

我想要一个如下所示的哈希表: 铝0 lp 1 ph值2 ha 3 ab 4 五岁 et 6

这就是我目前所拥有的

public static void hashTableCreator (String str, int wSize) {
    Hashtable ht = new Hashtable();
    str = "alphabet";
    wSize = 2;
    String str2;

    for (int i = 0; i < str.length(); i++) {
      int value = 0;
      ht.put(str.substring(i, i + 1), value);
      value++;
    }

    Set set = ht.keySet(); 

    Iterator itr = set.iterator();
    while(itr.hasNext()) {
      str2 = (String) itr.next();
      System.out.println(str2 + ": " +
                         ht.get(str2));
    }

  }
publicstaticvoidhashtablecreator(stringstr,int-wSize){
Hashtable ht=新的Hashtable();
str=“字母表”;
wSize=2;
字符串str2;
对于(int i=0;i
在字符串中。子字符串(a,b)第一个参数为零索引,第二个参数为1索引。 例如:

      "smiles".substring(1, 5) returns "mile"
如果你想从字符串“字母表”中得到al,你必须这样做

         LinkedHashMap<String, Integer> ht = new LinkedHashMap<String, Integer>();
 int value=0;
     for(int i=0; i<str.length()-1; i++) {
         ht.put(str.substring(i, i+2), value);
         value++;
     }
     Set<String> set = ht.keySet();
     Iterator<String> itr = set.iterator();
     while(itr.hasNext()) {
         String d = itr.next();
         System.out.println(d+ " "+ ht.get(d));
     }
    }
LinkedHashMap ht=新建LinkedHashMap();
int值=0;
对于(int i=0;i
int value=0;
对于(int i=0;i
我不明白,你的方法中有参数,但你正在下一行为它们设置值。参数的意义是什么?问题是我将如何实现我想要的东西。这些参数是供以后使用的,这只是我想测试的一个示例。正如你在问题中所示,你已经实现了它n、 那么,真正的问题是什么?为什么每次迭代都要将值初始化为0?谢谢,我运行了代码,得到了这个ha:3 lp:1 be:5 ab:4 et:6 al:0 ph:2我希望它可以按顺序进行?这是可能的吗?如果你们想在插入时对它进行排序,你们真是太棒了btwUse LinkedHashMap。这是怎么回事?你们能给我介绍一些阅读材料吗.Thanks我获取字符串索引超出范围,因为当它结束时,我有一个问题-(Iint value = 0; for (int i = 0; i < str.length()-1; i++) { ht.put(str.substring(i, i + 2), value); value++; }