Map接口及其重要实现类的用法
来源:互联网 发布:网易我的世界java 编辑:程序博客网 时间:2024/05/27 06:13
Map接口
Map中的每个成员方法由一个关键字(key)和一个值(value)构成。Map接口不直接继承于Collection接口,因为它包装的是一组成对的“键-值”对象的集合,而且在Map接口的集合中也不能有重复的key出现,因为每个键只能与一个成员元素相对应。
一、Map接口的子接口以及主要实现类有:
子接口:Bindings、ConcurrentMap、ConcurrentNavigableMap、MessageContext、LogicMessageContext、NavigableMap、SOAPMessageMap、SortedMap
实现类:AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, EnumMap,ConcurrentSkipListMap,HashMap, Hashtable, IdentityHashMap, LinkedHashMap, PrinterStateReasons,Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport,TreeMap, UIDefaults,WeakHashMap
二、Map接口中定义的方法清单:
Map中定义的方法说明:
在Map接口中定义的通用方法并不是很多。
(1)添加和删除Map中的某个元素
put(K, V):将给定的“键-值”对放入到给定的Map当中
putAll(Map<? extends K, ? extends V):将指定的Map中的“键-值”对放入到给定的Map当中
remove(Object key):从该集合中移除指定的对象,并返回对应的value
clear():清空Map中的所有对象
(2)查询与Map有关的数据
int size():返回此Map中“键-值”对的个数
boolean isEmpty():判断此Map中“键-值”对的个数是否为0
boolean containsKey(Object key):测试此Map中是否有该key
boolean containsValue(Object value):测试此Map中是否包含该value
V get(Object key):通过指定的key查询Map中对应的value
Collection<Object value> values():取得Map中所有的value
Set<Object key> keySet():取得当前Map中key的集合
Set<Entry<K, V>> entrySet():取得当前Map中entry的集合
三、HashMap与Hashtable的区别:
Hashtable实现Map接口,继承自古老的Dictionary类,实现一个key-value的键值映射表。任何非空的(key-value)均可以放入其中。
区别主要有三点:
1、Hashtable是基于陈旧的Dictionary实现的,而HashMap是基于Java1.2引进的Map接口实现的;
2、Hashtable是线程安全的,而HashMap是非线程安全的,我们可以使用外部同步的方法解决这个问题。
3、HashMap可以允许你在列表中放一个key值为null的元素,并且可以有任意多value为null,而Hashtable不允许键或者值为null。
四、遍历MAP的四种方法:
public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); // 第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value:"); for (String key : map.keySet()) { System.out.println("key= " + key + " and value= " + map.get(key)); } // 第二种 System.out.println("通过Map.entrySet使用iterator遍历key和value:"); Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> entry = it.next(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } // 第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } // 第四种 System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); for (String v : map.values()) { System.out.println("value= " + v); } }
- Map接口及其重要实现类的用法
- Map接口及其重要实现类的用法
- Map接口及其重要实现类的用法
- Map接口及其重要实现类的用法
- Java学习笔记(三)Map接口及其重要实现类的用法
- Map接口及其实现类
- Java容器学习笔记(三) Map接口及其重要实现类学习总结
- List接口及其实现类、Map接口及其实现类
- java之Map接口及其实现类
- Map接口及其重要实现类的方法总结:从HashMap中放入,查找,删除一个对象,并将全部value放入到一个数组中;获得HashMap的全部数据
- Map接口的实现类
- java--17--Map及其实现类与子接口
- [第三季] 012.Map接口及其实现类
- 【Java学习笔记】34:Map接口及其实现类
- 【JavaSE_学习笔记】Map接口及其子实现类
- java--运用Map接口及其实现类完成简易学生系统的管理
- Java基础-Map接口及其实现
- java SE基础(Map接口及其实现)
- iOS AutoLayout自动布局中级开发教程(4)-label文字自动适应大小,宽度(新)
- 清除缓存
- Listview之listSelector 属性
- Android之BroadcastReceiver
- 调用门的定义+调用
- Map接口及其重要实现类的用法
- 回调函数和钩子函数
- C# 程序获取管理员权限运行
- mac快捷键及其他软件替代fastcapture
- php的date函数
- 单链表的逆置
- 实战使用Axure设计App,使用WebStorm开发(3) – 构建页面架构
- 论程序员的懒
- win7 64位安装debug.exe