我有一个字符串数组,每个字符串包含3个字母。每3个字母(每个元素)对应一个唯一字母。我需要从字符串数组创建一个char数组。
我能想到的唯一方法是遍历字符串数组中的每个元素,并使用一个长的switch语句来确定其关联的单个字符。
还有什么其他方法可以实现?
如果是映射/查找,那么通常地图/词典可以解决您的问题。C#中的此类结构示例:
string[] inList = new[]{"bee", "kay", "kay", "eff" }; Dictionary<string, char> mapping = new Dictionary<string, char> { {"bee", 'b'}, {"eff", 'f'}, {"kay", 'k'}, };
如果有这样的映射,则只需从映射中查找字母,或将整个字符串列表转换为chars数组即可。
char[] chars = inList.Select(s => mapping[s]).ToArray();
几乎所有语言都支持这种类型的数据结构,尽管并非所有语言都支持像最后一个代码片段这样的功能结构。在这种情况下,您需要循环来构建out数组。
编辑:看到您添加了Java标记。您可以在Java中完成相同的操作,然后您的字典将HashMap在Java中成为a 。因此,只需服用阿司匹林,看看如何初始化静态地图?
HashMap