Java 集合框架-Map

时间:2023-02-26 11:31:05

Map:一次添加一对元素。Collection 一次添加一个元素

Map也称为双列集合 Collection集合称为  单列集合

其实map集合中存储的就是键值对

map集合必须保证键的唯一性


常用方法:

1 添加

value put(key,value);返回前一个和key关联的值,如果没有返回null

2 删除

void clear():清空map集合

value remove(key):根据指定的key删除这个键值对

3 判断

containKey(key);

containValue(value);

4 获取

value get(key);通过键获取值 如果没有该键 返回null

当然可以通过返回null  来判断是否包含指定键

int size();获取键的个数



Map常用的子类:

|--Hashtable:内部结构是哈希表,是同步的 不允许null 作为键 null 作为值

|--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合

|--HashMap:内部结构是哈希表,是不同步的 允许null 作为键 null 作为值

|--TreeMap:此类实现一个哈希表,内部结构是二叉书 不同步的 可以对Map中的集合中的键进行排序


package Map.Demo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapDemo {

public static void main(String[] args) {
Map<Integer,String> map=new HashMap<Integer, String>();
//method(map);
method_2(map);

}

public static void method_2(Map<Integer, String> map) {
map.put(8, "wangwu");
map.put(2, "zhaoliu");
map.put(6, "zhangsan");
map.put(3, "lisi");

//取出map中的所有元素
//原理 先通过keySet方法获取map中所有的键所在的Set集合,再通过Set的迭代器获取到每一个元素
//在对每一个键获取其对应的值即可
Set<Integer> keySet=map.keySet();
Iterator<Integer> it=keySet.iterator();

while(it.hasNext()) {
Integer key=it.next();
String value=map.get(key);
System.out.println(key+":"+value);
}

}

public static void method(Map<Integer,String> map) {//学号和姓名
//添加元素
System.out.println(map.put(8, "wangcai"));//null
System.out.println(map.put(8, "xiaoqiang"));//value 存相同键值会覆盖
map.put(2, "zhangsan");
map.put(7, "zhaoliu");
System.out.println(map);
//删除
//System.out.println("remove:"+map.remove(2));

//System.out.println(map);
//判断
//System.out.println("containKey:"+map.containsKey(7));

//获取
System.out.println("get:"+map.get(8));


}

}