一:概述
map集合在开发和使用中是必须需要掌握的知识,在这里将详细的介绍map的创建并且赋值。
二:具体说明
<1>map集合的总体概述
Map集合是一种数据结构,用于存储键值对(key-value pair)。它可以存储不重复的键,并且每个键对应唯一的值。
Map集合有多个实现类,包括HashMap、TreeMap和LinkedHashMap等。其中,HashMap是最常用的实现类之一,它使用哈希表来存储键值对,提供了较快的访问和查询速度。TreeMap使用红黑树来存储键值对,它可以保持插入的键值对处于有序状态。LinkedHashMap则在HashMap的基础上添加了一个链表来记录键值对的顺序,可以保持插入的顺序。
Map集合可以通过键来访问对应的值,键是唯一的,可以用于查找和更新值。通过put方法可以向Map集合中插入键值对,通过get方法可以根据给定的键来获取对应的值。Map集合还提供了其他一些常用的方法,包括remove、containsKey、containsValue等。
需要注意的是,Map集合中的键是无序的,即不保证插入的顺序和存储的顺序一致。如果需要有序的键值对,可以使用TreeMap。另外,Map集合中的键和值可以是任意类型,但键不能重复,如果重复插入相同的键,则会覆盖原来的值。
总之,Map集合是一种非常常用的数据结构,用于存储键值对,并提供快速的插入、查找和更新操作。它可以根据键来访问对应的值,并且提供了多种不同的实现类,以满足不同的需求。
<2>Map创建并赋值的步骤
- 确定Map的类型:Java中的Map接口有多个实现,比如
HashMap
、TreeMap
、LinkedHashMap
等,它们各自有不同的。例如,HashMap
存储键值对,并且不保证顺序;TreeMap
则根据键的自然顺序或者比较器来排序键值对。 - 创建Map的实例:使用new关键字和Map实现类的构造函数来创建一个Map实例。
- 向Map中添加键值对:使用
put(key, value)
方法来添加键值对。
<3>具体Map创建的实例
3.1 HashMap的创建实例
import java.util.HashMap;
/**
* HashMap的创建及其赋值
*/
public class HashMapTest {
public static void main(String[] args) {
HashMap<String,Integer> hashMap = new HashMap<String, Integer>();
hashMap.put("北京",1);
hashMap.put("上海",2);
hashMap.put("广东",3);
hashMap.put("深圳",4);
hashMap.put("重庆",5);
hashMap.put("湖南",6);
hashMap.put("浙江",7);
hashMap.put("西安",8);
// 打印这些元素
System.out.println(hashMap);
}
3.2 TreeMap的创建实例
import java.util.TreeMap;
public class TreeMapTest {
public static void main(String[] args) {
TreeMap<String, Integer> treeMap = new TreeMap<String, Integer>();
treeMap.put("北京", 1);
treeMap.put("上海", 2);
treeMap.put("广东", 3);
treeMap.put("深圳", 4);
treeMap.put("重庆", 5);
treeMap.put("湖南", 6);
treeMap.put("浙江", 7);
treeMap.put("西安", 8);
// 打印这些元素
System.out.println(treeMap);
}
}
注意TreeMap的键是排序的,值是无序的
3.3 LinkedHashMap的创建实例
import java.util.LinkedHashMap;
public class LinkedHashMapTest {
public static void main(String[] args) {
LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<String, Integer>();
linkedHashMap.put("北京", 1);
linkedHashMap.put("上海", 2);
linkedHashMap.put("广东", 3);
linkedHashMap.put("深圳", 4);
linkedHashMap.put("重庆", 5);
linkedHashMap.put("湖南", 6);
linkedHashMap.put("浙江", 7);
linkedHashMap.put("西安", 8);
// 打印这些元素
System.out.println(linkedHashMap);
}
}
访问并打印map中的元素,可以看到它保持了插入顺序(这里是一一对应的)