zel*_*ell 5 java arrays indexing
是否有可能在Java中创建一个由字母字符('a'到'z')而不是整数索引的数组?
使用这样的数组"a",我想以这种方式使用,例如
print (a['a']);
Run Code Online (Sandbox Code Playgroud)
是否有可能在Java中创建一个由字母字符('a'到'z')而不是整数索引的数组?
当然有可能.
你可以这样做:
char theChar = 'x';
print (a[theChar - 'a']);
Run Code Online (Sandbox Code Playgroud)
或者假设只处理ASCII字符串只是声明大小为256的数组.使用你的字符直接索引数组.
char[] a = new char[256];
char theChar = 'x';
print (a[theChar]);
Run Code Online (Sandbox Code Playgroud)
现在你不在乎它是大写/小写还是其他什么.
实际上,如果你对ASCII字符串特别感兴趣,那么使用a 字符串Map与简单数组相比可能会过度.阵列不会浪费太多空间,也许Map(一种非常有效的构造)对于这么简单的任务来说太多了.
请Map改用.
Map<Character, Object> myMap = new HashMap<Character, Object>();
myMap.put('a', something);
print(myMap.get('a'));
Run Code Online (Sandbox Code Playgroud)
另一方面,正如其他人已经建议的那样,您可以使用char作为索引(但是您将所有数组元素都0...'a'-1留空):
String[] a = new String['z' + 1];
a['a'] = "Hello World";
System.out.println(a['a']);
Run Code Online (Sandbox Code Playgroud)