一,交换两个变量的值,不使用第三个变量的四种法方法:
异或运算:
int a=10,b=12
a=a^b;
b=a^b;
a=a^b;
根据异或的自反率:
自反:a ⊕ b ⊕ a = b
上面的可以解释成
1.a = a^b
2.b = a^b ^b → a
3.a=a^b ^ a → b
二,给定一个字符串,统计出每个字母出现次数
map解决
for(Character ch: str1.toCharArray()){
//判断是否为字母,其他符号不考虑统计
if( (ch>='a'&& ch<='z')|| (ch>='A'&&ch<='Z') ){
Integer count = map.get(ch);
map.put(ch, null==count?1:count+1);
}
}