当前位置: 首页 > 知识库问答 >
问题:

将以字母表开头的数组中的单词索引存储到可以为每个字母表存储的数组中

和和煦
2023-03-14

我有一个ArrayList,其中包含一些按字母顺序排序的唯一字符串

我想在列表中存储字符串的索引,它以数组中的字符开始,该数组有27个槽对应于每个字母字符,其他字符有一个额外的槽。

对于eg.

在公司和家庭之间生活13天后,重要的家庭生活意味着下一个国家的生活可能是一样的

所以当我遍历这个列表时,如果我找到一个以char'a'开头的单词,它应该将该单词的索引放在我的数组[0]中的列表中...就像这样,如果我找到一个以char'b'开头的单词,它应该将该单词的索引放在我的数组[1]中的列表中,依此类推,直到数组[25]中的char'z',如果它以任何其他字符开头,它应该将该字符的索引放在数组[26]中。

如果在列表中找不到以特定字符开头的单词,请使用最后找到的字符的索引。

所以在做了逻辑之后,

数组[0]=2//A
数组[1]=3//B
数组[2]=4//C
数组[3]=4//D,列表中没有D的单词,因此取“C”的索引
数组[4]=4//E,列表中没有E的单词,因此取“C”的索引
数组[5]=6//F
数组[6]=6//G,列表中没有D的单词,因此取“F”的索引



array[24]=最后找到的单词的索引,即“t”
array[25]=23//Z
array[26]=1//数字字符

我脑子里的逻辑是

public static int [] calculateIndexForAlphabets(List libList)
{
    int[] array = new int[27];
    for (int x = libList.size() - 1; x >= 0; x--)
    {
        Item lmi = (Item) libList.get(x);

        String name = lmi.getName(); //my method to return the name
        if (name != null)
        {
            // Not sure what to do inside  
            // thinking of something like taking the name.toLowerCase().charAt(0) and using that
        }
    }
    return array;
}  

请就此提供一些见解。

谢谢,

共有1个答案

钮高朗
2023-03-14

你在正确的轨道上。有了第一个字符后,请检查它是否介于“a”和“z”之间,如果介于两者之间,请从中减去“a”以找到索引。如果不是,则索引为26。

最后,通过遍历结果来填充缺失的索引。

 类似资料:
  • 基于当前的实现,我将从某个来源获得一个数组列表,其中包含大约1000个按字母排序的唯一名称(A-Z或Z-A)。 我需要找到以给定字母表开头的第一个单词的索引。 因此,更准确地说,当我选择一个字母表,例如“M”时,它应该给我排序列表中以“M”开头的单词第一次出现的索引。 这样我就可以找到26个字母中每个字母开头的所有单词的索引。 请帮我找到一个不影响速度的解决方案。 更新时间: 实际上,在获得100

  • 问题内容: 这是Hadoop字数统计Java映射并减少源代码: 在map函数中,我已经到了可以输出所有以字母“ c”开头的单词以及该单词出现的总次数的位置,但是我想做的就是输出总数以字母“ c”开头的单词,但我在获取总数上有些停留。任何帮助将不胜感激,谢谢。 例 我得到的输出: 可以2 罐3 猫5 我想要得到的是: 合计10 问题答案: 克里斯·格肯 的答案是正确的。 如果您要输出单词作为关键字,

  • 我被分配了一个任务,从数组列表中返回以特定字母开头的单词,但是我选择了字母c;我被告知我可以用另一种方式做到这一点,除了专门返回每个以字母开头的元素和许多println之外,我不知道除了使用ArrayList startswith方法之外,还有什么其他方法可以做到这一点,有人愿意启发我吗? }

  • 我想得到给定字符串中一个单词以给定字母开头的计数次数。 例如,在这个短语中:“这个模式很好,但猪喜欢牛奶”,如果我想找到以“g”开头的单词数,只有1个“很棒”,但现在我得到了2个“很棒”和“猪”。 这是我使用的代码:

  • 我有这个正则表达式: 搜索: 替换为: 这将把所有单词的第一个字母替换成大写字母。例如:

  • 我有这段简单的代码,我希望从控制台日志记录代码的预期结果是。但我在实现所需的消息时遇到了问题。这是我的代码