Java 通过选择另一个数据结构进行代码优化

Java 通过选择另一个数据结构进行代码优化,java,string,optimization,data-structures,char,Java,String,Optimization,Data Structures,Char,我有一段代码需要优化 for (int i = 0; i < wordLength; i++) { for (int c = 0; c < alphabetLength; c++) { if (alphabet[c] != x.word.charAt(i)) { String res = WordList.Contains(x.word.substring(0,i) + alphabet[c] +

我有一段代码需要优化

 for (int i = 0; i < wordLength; i++) {
   for (int c = 0; c < alphabetLength; c++) {
     if (alphabet[c] != x.word.charAt(i)) {
        String res = WordList.Contains(x.word.substring(0,i) +
                     alphabet[c] +
                     x.word.substring(i+1));
      if (res != null && WordList.MarkAsUsedIfUnused(res)) {
        WordRec wr = new WordRec(res, x);
        if (IsGoal(res)) return wr;
        q.Put(wr);
      }
    }
  }
如何从char[]获取子数组?以及如何连接第4.6行上的char和char[]呢

是否有其他适合我使用的可变数据结构?我想到了stringbuffer,但在stringbuffers上找不到合适的操作

给定一个特定的单词,此函数将生成所有相差一个字符的单词。 WordRec只是一个类,它有一个表示单词的字符串,还有一个指向该单词“父”的指针


提前感谢

使用此方法可以减少对象数量:

StringBuilder tmp = new StringBuilder(wordLength);
tmp.append(x.word);
for (int i=...) {
    for (int c=...) {
        if (...) {
           char old = tmp.charAt(i);
           tmp.setCharAt(i, alphabet[c]);
           String res = tmp.toString();
           tmp.setCharAt(i, old);
           ...
        }
    }
}

什么是
WordList
类型,什么是
WordRec
?另外,
IsGoal
是一种方法吗?如果是,请正确使用caseCamel来命名。
StringBuilder tmp = new StringBuilder(wordLength);
tmp.append(x.word);
for (int i=...) {
    for (int c=...) {
        if (...) {
           char old = tmp.charAt(i);
           tmp.setCharAt(i, alphabet[c]);
           String res = tmp.toString();
           tmp.setCharAt(i, old);
           ...
        }
    }
}