Map集合:该集合的存储键值对,一对一对往里存。而且要保证键的唯一性。
1、添加
put(K key,V value)
putAll(Map<? extends K,? extends V> m)
2、删除
clear()
remove(Object key)
3、判断
containsValue(Object value)
containsKey(Object key)
isEmpty()
4、获取
get(Object key)
size()
values()
entrySet()
|--Hashtable:底层是哈希表数据结构,不可以存入null键和null值。该集合是线程同步的。jdk1.0版本出现,效率低。
|--HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。jdk1.2版本出现,效率高。
|--TreeMap:底层是二叉树数据结构,可以用于给map集合中的键值进行排序,线程不同步。
和Set很像,Set底层就是使用了Map集合。
1、添加
put(K key,V value)
putAll(Map<? extends K,? extends V> m)
2、删除
clear()
remove(Object key)
3、判断
containsValue(Object value)
containsKey(Object key)
isEmpty()
4、获取
get(Object key)
size()
values()
entrySet()
keySet()
|--Hashtable:底层是哈希表数据结构,不可以存入null键和null值。该集合是线程同步的。jdk1.0版本出现,效率低。
|--HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的。jdk1.2版本出现,效率高。
|--TreeMap:底层是二叉树数据结构,可以用于给map集合中的键值进行排序,线程不同步。
和Set很像,Set底层就是使用了Map集合。
代码:
import java.util.*;
public class code
{
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer, String>();
/*添加元素,如果出现添加相同的键,那么后添加的值会覆盖原有键对应值。
put方法会返回被覆盖的值*/
System.out.println(map.put(1, "zhangsan1"));
System.out.println(map.put(1, "zhangsan2"));
map.put(2, "lisi");
map.put(3, "wangwu");
System.out.println(map.containsKey(22));
// System.out.println(map.remove(3));
System.out.println(map.get(1));
map.put(4, null);
System.out.println(map.get(4));
//可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断。
//获取map集合中所有的值。
Collection<String> coll = map.values();
System.out.println(coll);
System.out.println(map);
}
}