本文主要介绍常见的方法和循环遍历的五种方法,其次什么是Map和好处
Java中的Map是一种键值对存储的数据结构,其中每个键都唯一,与一个值相关联。Map的实现类有多种,其中常用的有HashMap、TreeMap、LinkedHashMap等。以下是它们的介绍:
HashMap:HashMap使用哈希表来实现键值对的存储,具有快速的访问速度。它允许使用null键和null值,但是它们在插入和获取时需要特殊处理,这也是它的一个缺点。
TreeMap:TreeMap基于红黑树实现,它能够自动保持键的有序性。它没有HashMap那样快速的访问速度,但是在需要遍历排好序的键值对时,它比HashMap更加适用。
LinkedHashMap:LinkedHashMap继承自HashMap,但是它通过维护一个双向链表来保证存储顺序。它既保持了HashMap的快速访问速度,又具有按照插入顺序或者访问顺序进行遍历的能力。
Map集合可以用来存储一些数据,例如用户ID和用户信息的对应关系,或者单词和出现次数的对应关系等。它提供了丰富的方法,包括添加键值对、获取键值对、删除键值对、遍历键值对等。Map是Java中的一种集合,它是一种键值对的映射表,可以根据键快速获取对应的值。
以下是Java中Map实现类的HashMap的常见方法使用示例及运行结果:
使用put()方法向Map中添加键值对:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);//新增键值对,左边键右边值
map.put("banana", 20);
System.out.println(map);
输出结果:
{banana=20, apple=10}
使用get()方法根据键获取对应的值:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
int value = map.get("apple");//获取指定键的值
System.out.println(value);
输出结果:
10
使用containsKey()和containsValue()方法:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
boolean hasKey = map.containsKey("apple");//判断此map集合里是否存在指定键
boolean hasValue = map.containsValue(20);//判断此map集合里是否存在指定值
System.out.println(hasKey);
System.out.println(hasValue);
输出结果:
true
true
使用keySet()和values()方法获取所有键或值:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
Set<String> keys = map.keySet();//获取所有的键
Collection<Integer> values = map.values();//获取所有的值
System.out.println(keys);
System.out.println(values);
输出结果:
[banana, apple]
[20, 10]
使用remove()方法删除键值对:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
map.put("banana", 20);
map.remove("banana");//根据指定的键删除该键值对
System.out.println(map);
输出结果:
{apple=10}
Map提供了很多不同的循环方式,可根据需求选择不同的方式。以下列举了五种常见的循环方式:
使用for-each循环遍历Map中的所有键值对,代码示例:
Map<String, Integer> map = new HashMap<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
// Do something with key and value
}
使用Iterator遍历Map中的所有键值对,代码示例:
Map<String, Integer> map = new HashMap<>();
Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, Integer> entry = it.next();
String key = entry.getKey();
Integer value = entry.getValue();
// Do something with key and value
}
使用keySet()方法获取所有键,然后遍历所有键,代码示例:
Map<String, Integer> map = new HashMap<>();
for (String key : map.keySet()) {
Integer value = map.get(key);
// Do something with key and value
}
使用values()方法获取所有值,然后遍历所有值,代码示例:
Map<String, Integer> map = new HashMap<>();
for (Integer value : map.values()) {
// Do something with value
}
使用Lambda表达式遍历Map中的所有键值对,代码示例:
Map<String, Integer> map = new HashMap<>();
map.forEach((key, value) -> {
// Do something with key and value
});
好处
可视化数据:地图能够将数据以图形化的方式呈现,使得信息更加直观和易于理解。它可以显示地理位置、地形、人口分布、资源分布等。这对于政府、研究机构、企业等来说都非常有价值,可以帮助他们做出更明智的决策。
帮助导航和定位:地图可以帮助人们在陌生的地方进行导航和定位。无论是在城市中找到需要去的地方,还是在户外进行远足或露营时找到正确的方向,地图都是不可或缺的。
规划和管理:地图可以用于规划和管理城市、交通网络、基础设施等。通过分析地图上的数据,决策者可以更好地了解城市的需求,制定更有效的规划和管理策略。
旅游和娱乐:地图对旅游者非常重要。它们可以帮助人们找到旅游景点、餐馆、酒店等。此外,一些人也喜欢使用地图进行寻宝游戏或进行地理知识挑战。
教育和学习:地图是教育和学习的重要工具。它们可以帮助学生更好地理解地理知识,学习地理技能。同时,地图也可以帮助老师设计课程,进行教学和评估。
总的来说,地图有助于我们更好地了解世界,帮助我们在生活中做出更明智的决策,并提供各种各样的实用功能。