Java 作为字符串在字母表中循环
我想用for循环遍历字母表,并将每个字母添加到我的Java 作为字符串在字母表中循环,java,string,loops,for-loop,Java,String,Loops,For Loop,我想用for循环遍历字母表,并将每个字母添加到我的HashMap for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) { System.out.println(alphabet); } 我需要迭代器是字符串,但是 for(String alphabet = 'A'; alphabet <= 'Z';alphabet++) { System.out.println(alphabet); } 有什么想
HashMap
for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) {
System.out.println(alphabet);
}
我需要迭代器是字符串,但是
for(String alphabet = 'A'; alphabet <= 'Z';alphabet++) {
System.out.println(alphabet);
}
有什么想法吗?基本上将字符转换为字符串,如下所示:
for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) {
hm.put(""+alphabet, null);
}
for(char letter = 'A'; letter <= 'Z'; letter++) {
String s = new String(new char[] {letter});
System.out.println(s);
}
或
实际上是相同的。您不能将
字符
分配给字符串
,也不能用+
增加字符串。您可以像在第一个示例中那样迭代字符
,并将该字符
转换为字符串
,如下所示:
for(char alphabet = 'A'; alphabet <= 'Z';alphabet++) {
hm.put(""+alphabet, null);
}
for(char letter = 'A'; letter <= 'Z'; letter++) {
String s = new String(new char[] {letter});
System.out.println(s);
}
for(char letter='A';letter第一个问题:当您使用HashMap
时,您应该将一个键映射到一个值。您不只是在哈希映射中放入一些内容。您要放入的字母是一个值吗?那么键是什么?是键吗?值是什么
您可能认为使用“null”作为值是一个好主意,但您应该问问自己:在这种情况下,我应该使用映射吗?也许使用哈希集
是一个更好的主意
第二个问题是,与所有java集合一样,HashMap
,只接受对象——既作为键也作为值。如果您想使用字符作为键,可以将映射定义为map
,这将自动装箱您的字符(将其转换为字符类型的对象
)或者可以使用以下命令将字符转换为字符串:
Character.toString(alphabet);
在带有流API的Java8中,您可以这样做
IntStream.rangeClosed('A', 'Z').mapToObj(var -> String.valueOf((char) var)).forEach(System.out::println);
我们使用字符而不是字符串
Character.toString(alphabet);
IntStream.rangeClosed('A', 'Z').mapToObj(var -> String.valueOf((char) var)).forEach(System.out::println);