集合框架
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合框架 相关的知识,希望对你有一定的参考价值。
1 Map集合概述
- Map一次存储一对元素,Collection一次添加一个元素。
- Map也称为双列集合,Collection也称为单列集合。
- Map存储的是键值对。
- Map集合必须保证键的唯一性。
2 Map的常用方法
- 添加
- 将指定的值与此映射中的指定键关联
V put(K key,V value)
-
- 从指定映射中将所有映射关系赋值到此映射中
void putAll(Map<? extends K,? extends V> m)
- 删除
- 清空
void clear()
-
- 如果存在一个键的映射关系,则将其从此映射关系中移除
V remove(Object key)
- 判断
- 如果此映射包含指定键的映射关系,则返回true
boolean containsKey(Object key)
-
- 如果此映射将一个或多个键映射到指定的值,则返回true
boolean containsValue(Object value)
-
- 比较指定的对象与此映射是否相等
boolean equals(Object o)
-
- 如果此映射没有包含键-值映射关系,则返回true
boolean isEmpty()
- 获取
- 返回此映射中包含的映射关系的Set集合
Set<Map.Entry<K,V>> entrySet()
-
- 返回指定的键所映射的值
V get(Object key)
-
- 返回此映射中包含键的Set集合
Set<K> keySet()
-
- 返回此映射中的键-值映射关系数
int size()
-
- 返回此映射中包含的值的Collection集合
Collection<V> values()
- 示例:添加元素
package java16; import java.util.HashMap; import java.util.Map; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); System.out.println(map); } }
- 示例:删除元素
package java16; import java.util.HashMap; import java.util.Map; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); //删除元素 map.remove(1); System.out.println(map); } }
- 示例:判断键
package java16; import java.util.HashMap; import java.util.Map; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); //判断 System.out.println(map.containsKey(1)); } }
- 示例:根据键获取值
package java16; import java.util.HashMap; import java.util.Map; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); System.out.println(map.get(1)); } }
- 示例:通过keySet来获取所有键值对
package java16; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); Set<Integer> keySet = map.keySet(); for(Iterator<Integer> iterator = keySet.iterator();iterator.hasNext();){ Integer key = iterator.next(); String value = map.get(key); System.out.println(key +":" + value); } } }
- 示例:通过entrySet来获取Map中的所有键值对
package java16; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 2017/10/8 * 说明: */ public class MapDemo { public static void main(String[] args) { Map<Integer,String> map = new HashMap<>(); //添加元素 map.put(1,"张三"); map.put(2,"李四"); Set<Map.Entry<Integer,String>> keyValues = map.entrySet(); for(Iterator<Map.Entry<Integer,String>> iterator = keyValues.iterator();iterator.hasNext();){ Map.Entry<Integer,String> keyValue = iterator.next(); Integer key = keyValue.getKey(); String value = keyValue.getValue(); System.out.println(key +":" +value); } } }
3 Map常用子类
- HashTable:内部结构是哈希表,是同步的。不允许null作为键或值。
- HashMap:内部结构是哈希表,不是同步的,允许null作为键或值。
- TreeMap:内部结构是二叉树,不是同步的,可以对Map集合中的键进行排序。
以上是关于集合框架 的主要内容,如果未能解决你的问题,请参考以下文章
text 来自Codyhouse框架的Browserlist片段源代码