Java基础之集合框架--Map
2017-09-14 13:47
357 查看
package newFeatures8; import java.util.Collection; import java.util.HashMap; import java.util.Map; /* 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(); Collection<V> values() ; Set<Map.Entry<K,V>> entrySet() ; Set<K> keySet() ; Map |--Hashtable: 底层数据结构是哈希表,不可以存入null值null键,该集合是线程同步的,效率低 为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。 默认加载因子为0.75 初始容量为11 |--HashMap 底层数据结构是哈希表,允许使用null值null键,该集合是线程不安全的,若要线程安全,请使用 Map m = Collections.synchronizedMap(new HashMap(...)); 默认加载因子为0.75 初始容量为16,,效率高 |--TreeMap 底层数据结构是二叉树,线程不同步,可以用于给Map集合中的键进行排序 其实Set集合底层就是使用了Map集合,道理很简单,你能存一对,我去掉值,是不是只剩一个 */ public class MapDemo { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); //添加元素 System.out.println(map.put("01","张三"));//put方法会返回原来的键对应的值,如果键是唯一的,返回null System.out.println(map.put("02","张三2"));//put方法会返回原来的键对应的值,如果键是唯一的,返回null System.out.println(map.put("03","张三3"));//put方法会返回原来的键对应的值,如果键是唯一的,返回null System.out.println(map.put("04","张三4"));//put方法会返回原来的键对应的值,如果键是唯一的,返回null System.out.println(map);//{01=张三, 02=张三2, 03=张三3, 04=张三4} System.out.println("containsKey:"+map.containsKey("022"));//containsKey:false System.out.println("remove:"+map.remove("张三"));//remove方法会返回该键所对应的值,没有则不删除 System.out.println(map); //获取v Collection<String> coll=map.values(); System.out.println(coll.getClass().getName());//java.util.HashMap$Values System.out.println(coll);//[张三, 张三2, 张三3, 张三4] //第一种遍历方式:通过键获取值 for (String key : map.keySet()) { System.out.println(key+"="+map.get(key)); } //第二种遍历方式:通过Map.Entry获取键和值 for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey()+">..>"+entry.getValue()); } //第三种遍历方式:将第二种遍历方式进行了封装,提供了更简便的操作 //jdk1.8 Map集合超级方便 map.forEach((key,value)->{System.out.println(key+"..."+value);}); } }
相关文章推荐
- JAVA基础学习之 Map集合、集合框架工具类Collections,Arrays、可变参数、List和Set集合框架什么时候使用等(4)
- java基础集合框架——List、Set、Map概述(java集合一)
- Java基础知识强化之集合框架笔记62:Map集合之HashMap嵌套HashMap
- [Java框架-grails从基础到实践]8、集合-map
- 黑马程序员_java编程基础17 集合框架Map
- Java基础知识强化之集合框架笔记52:Map集合之Map集合的遍历 键找值
- Java基础知识强化之集合框架笔记63:Map集合之HashMap嵌套ArrayList
- Java基础知识强化之集合框架笔记65:Map集合之集合多层嵌套的数据分析
- java基础:集合框架之Map(共性方法)
- java基础——集合框架(List、Set、Map)
- Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMap<String,Student>)的案例
- java基础集合框架——List、Set、Map概述(java集合一)
- Java语言基础——06.集合框架(2)泛型和Map集合
- 黑马程序员——java基础——集合框架(二: 双列集合 (Map体系))
- 黑马程序员_Java基础_集合框架成员Map
- 十七、Java基础---------集合框架之Map
- Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值
- Java基础知识强化之集合框架笔记66:Map集合面试题之HashMap和Hashtable区别(重要)
- JAVA语言基础:集合框架Collection 和Map
- Java基础知识强化之集合框架笔记64:Map集合之ArrayList嵌套HashMap