如何用java程序将Map中的关键字全部转换成小写
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用java程序将Map中的关键字全部转换成小写相关的知识,希望对你有一定的参考价值。
1、对map进行遍历。
2、对遍历到的关键字进行小写转换。
1、对map进行遍历。 可以用keySet()获取到所有key值然后根据key去取,或者直接用map 的iterator()取得map.Entry。
2、对遍历到的关键字进行小写转换。使用String的toLowerCase()可以直接转化为小写。
其中需要注意到的是,map的key值是不能直接进行修改的,这会导致key值与map的hash值 不对应,再继续使用这个map的时候用改变过的key无法找到对应的值。所以我们需要将原 来的key值删除后,将转换后的key和value重新put到map中。也可以直接将结果全部put到一 个新的map中,然后用新的map替换掉原来的map。
参考技术A public String toLowerCase()使用默认语言环境的规则将此 String 中的所有字符都转换为小写。这等效于调用 toLowerCase(Locale.getDefault())。本回答被提问者和网友采纳Java中如何用其他方法实现大小写转换
在不使用touppercase()的情况下,实现大小写转换
public class Testpublic static void main(String[] args)
Test test = new Test();
String str1 = "abcdefg";
String str2 = "QWERT";
//转成大写
System.out.println(test.changeString(str1,true));
//转成小写
System.out.println(test.changeString(str2,false));
//小写字母转大写
public char toUpper(char ch)
if(ch <= 122 && ch >= 97)
ch -= 32;
return ch;
//大写字母转小写
public char toLower(char ch)
if(ch <= 90 && ch >= 65)
ch += 32;
return ch;
//转换字符窜 flag 为true 大写
public String changeString(String str,Boolean flag)
char[] ch = str.toCharArray();
StringBuffer sbf = new StringBuffer();
for(int i=0; i< ch.length; i++)
if(flag)
sbf.append(toUpper(ch[i]));
else
sbf.append(toLower(ch[i]));
return sbf.toString();
参考技术A 写一个map,key是小写字母,value写大写字母。
准备一个stringbuilder对象。
接收一个英文字符串。
写for循环,逐一取字符,根据字符取map中对应Value。
把取得value追加到stringbuilder对象结尾。追问
嗯……可以举个例子写一下大概的代码吗?初学者表示看不大明白
追答私聊吧
以上是关于如何用java程序将Map中的关键字全部转换成小写的主要内容,如果未能解决你的问题,请参考以下文章
如何用python语言编能将字符串中的每个字符的ASCII码加20后输出对应字符的程序?