创建一个Map,完成以下操作:
mport java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class MapWork01 {
public static void main(String[] args) {
HashMap<String, String> provinceMap = new HashMap<>();
// 添加省份和简称
provinceMap.put("北京", "京");
provinceMap.put("上海", "沪");
provinceMap.put("天津", "津");
provinceMap.put("重庆", "渝");
provinceMap.put("河北", "冀");
provinceMap.put("山西", "晋");
provinceMap.put("辽宁", "辽");
provinceMap.put("吉林", "吉");
provinceMap.put("黑龙江", "黑");
provinceMap.put("江苏", "苏");
provinceMap.put("浙江", "浙");
provinceMap.put("安徽", "皖");
provinceMap.put("福建", "闽");
provinceMap.put("江西", "赣");
provinceMap.put("山东", "鲁");
provinceMap.put("河南", "豫");
provinceMap.put("湖北", "鄂");
provinceMap.put("湖南", "湘");
provinceMap.put("广东", "粤");
provinceMap.put("海南", "琼");
provinceMap.put("四川", "川");
provinceMap.put("贵州", "贵");
provinceMap.put("云南", "云");
provinceMap.put("陕西", "陕");
provinceMap.put("甘肃", "甘");
provinceMap.put("青海", "青");
provinceMap.put("台湾", "台");
provinceMap.put("内蒙古", "蒙");
provinceMap.put("广西", "桂");
provinceMap.put("西藏", "藏");
provinceMap.put("宁夏", "宁");
provinceMap.put("新疆", "新");
provinceMap.put("香港", "港");
provinceMap.put("澳门", "澳");
// 将省份名称中包含"江"的省份从集合中删除
Iterator<Map.Entry<String,String>> iterator = provinceMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String,String> entry = iterator.next();
if (entry.getKey().contains("江")) {
iterator.remove();
}
}
System.out.println(provinceMap.size());
// forEach匿名函数
provinceMap.forEach((key, value) -> System.out.println(key + " : " + value));
}
}
输入一个字符串,统计字符串中每个字符出现的次数并输出
import java.util.HashMap;
public class CountNumWork02 {
public static void main(String[] args) {
String str = "Hello, World!!!";
HashMap<Character,Integer> countMap = new HashMap<>();;
for (int i = 0; i < str.length(); i++) {
// getOrDefault 是 Map 接口中的一个方法,用于获取指定键对应的值,如果键不存在,则返回一个默认值。
countMap.put(str.charAt(i),countMap.getOrDefault(str.charAt(i),0) + 1);
}
System.out.println(countMap);
}
}
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如:
‘a’ 对应 “.-” ,
‘b’ 对应 “-…” ,
‘c’ 对应 “-.-.” ,以此类推。
为了方便,所有 26 个英文字母的摩尔斯密码表如下:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。
例如,“cab” 可以写成 “-.-…–…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。我们将这样一个连接过程称作 单词翻译 。
对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量
示例 1:
输入: words = ["gin", "zen", "gig", "msg"]
输出: 2
解释:
各单词翻译如下:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."
共有 2 种不同翻译, "--...-." 和 "--...--."
示例 2:
输入:words = ["a"]
输出:1
提示:
1 <= words.length <= 100
1 <= words[i].length <= 12
words[i]
由小写英文字母组成import java.util.HashMap;
public class TranslationMoorWork03 {
public static void main(String[] args) {
String[] strings = {"gin", "zen", "gig", "msg"};
System.out.println(translation(strings));
}
// 将字符串数组中的元素转译
private static int translation(String[] strs) {
String[] strings = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
HashMap<String,Integer> map = new HashMap<>();
for (String s : strs) {
String str = "";
for (int i = 0; i < s.length(); i++) {
str += strings[s.charAt(i) - 97];
}
map.put(str,map.getOrDefault(str, 0) + 1);
}
return map.size();
}
}
public static void main(String[] args) {
Map<Short, String> map = new HashMap<>();
for (short i = 0; i < 100; i ++){
map.put(i, String.valueOf(i));
map.remove(i - 1);
}
System.out.println(map.size());
}
输出100
,因为储存的键的类型为short
,删除的键的类型为int
,所有每次都没有删除。