Java类集 _Map接口
来源:互联网 发布:rightfont for mac 编辑:程序博客网 时间:2024/06/03 17:14
1、掌握 Map 接口与 Collection 接口的不同
2、掌握 Map 与 Map.Entry 接口的关系
3、掌握 Map 接口的常用子类:HashMap、Hashtable 、TreeMap、WeakHashMap
4、掌握 HashMap 与 Hastable 的区别
Collection 的操作中之前已经发现,每次保存的对象都是一个对象,但是在Map 中保存的是一对对象,对象的形式是以:key --> value 的形式保存的。
就好像电话本:张三 -->123456
以 HashMap 为例,说明Map 的基本方法的操作:
- import java.util.HashMap ;
- import java.util.Map ;
- public class HashMapDemo01{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- String val = map.get("mldn") ; // 根据key取出值
- System.out.println("取出的内容是:" + val) ;
- }
- };
- import java.util.HashMap ;
- import java.util.Map ;
- public class HashMapDemo02{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- if(map.containsKey("mldn")){ // 判断key是否存在
- System.out.println("搜索的key存在!") ;
- }else{
- System.out.println("搜索的key不存在!") ;
- }
- if(map.containsValue("www.mldn.cn")){ // 判断value是否存在
- System.out.println("搜索的value存在!") ;
- }else{
- System.out.println("搜索的value不存在!") ;
- }
- }
- };
Set<K> keySet()
- import java.util.HashMap ;
- import java.util.Map ;
- import java.util.Iterator ;
- import java.util.Set ;
- public class HashMapDemo03{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- Set<String> keys = map.keySet() ; // 得到全部的key
- Iterator<String> iter = keys.iterator() ;
- while(iter.hasNext()){
- String str = iter.next() ;
- System.out.print(str + "、") ;
- }
- }
- };
Collection<V> values()
- import java.util.HashMap ;
- import java.util.Map ;
- import java.util.Iterator ;
- import java.util.Collection ;
- public class HashMapDemo04{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- Collection<String> values = map.values() ; // 得到全部的value
- Iterator<String> iter = values.iterator() ;
- while(iter.hasNext()){
- String str = iter.next() ;
- System.out.print(str + "、") ;
- }
- }
- };
在Map 中也存在一个Hashtable 子类,实际上这个子类的推出时间与Vector 是一样的,都属于旧的 类。
- import java.util.HashMap ;
- import java.util.Map ;
- import java.util.Set ;
- import java.util.Iterator ;
- import java.util.Collection ;
- public class HashtableDemo01{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new HashMap<String,String>() ;
- map.put("mldn","www.mldn.cn") ; // 增加内容
- map.put("zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("mldnjava","www.mldnjava.cn") ; // 增加内容
- System.out.print("全部的key:") ;
- Set<String> keys = map.keySet() ; // 得到全部的key
- Iterator<String> iter = keys.iterator() ;
- while(iter.hasNext()){
- String str = iter.next() ;
- System.out.print(str + "、") ;
- }
- System.out.print("\n全部的value:") ;
- Collection<String> values = map.values() ; // 得到全部的value
- Iterator<String> iter2 = values.iterator() ;
- while(iter2.hasNext()){
- String str = iter2.next() ;
- System.out.print(str + "、") ;
- }
- }
- };
在Map 中还存在一个TreeMap 的子类,此类也属于排序类,按key 排序。
- import java.util.TreeMap ;
- import java.util.Map ;
- import java.util.Set ;
- import java.util.Iterator ;
- import java.util.Collection ;
- public class TreeMapDemo01{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new TreeMap<String,String>() ;
- map.put("A、mldn","www.mldn.cn") ; // 增加内容
- map.put("C、zhinangtuan","www.zhinangtuan.net.cn") ; // 增加内容
- map.put("B、mldnjava","www.mldnjava.cn") ; // 增加内容
- Set<String> keys = map.keySet() ; // 得到全部的key
- Iterator<String> iter = keys.iterator() ;
- while(iter.hasNext()){
- String str = iter.next() ;
- System.out.println(str + " --> " + map.get(str)) ; // 取出内容
- }
- }
- };
如果假设一个Map 中的某些内容长时间不使用的话,按照之前的做法是不会删除掉的,如果希望其可以自动删除掉,可以使用弱引用。当时面某些内容不使用时,可以自动删除掉。
- import java.util.WeakHashMap ;
- import java.util.Map ;
- import java.util.Set ;
- import java.util.Iterator ;
- import java.util.Collection ;
- public class WeakHashMapDemo01{
- public static void main(String args[]){
- Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String
- map = new WeakHashMap<String,String>() ;
- map.put(new String("mldn"),new String("www.mldn.cn")) ;
- map.put(new String("zhinangtuan"),new String("www.zhinangtuan.net.cn")) ;
- map.put(new String("mldnjava"),new String("www.mldnjava.cn")) ;
- System.gc() ; // 强制性进行垃圾的收集操作
- map.put(new String("lxh"),new String("lixinghua")) ;
- System.out.println(map) ;
- }
- };
总结:
1、介绍了Map 的特点及基本操作
2、Map 与Map.Entry 的关系
3、Map 的子类:HashMap、Hashtable、TreeMap、WeakHashMap
4、主要功能就是查找,根据 key 找到 value
来源:http://blog.csdn.net/hanshileiai/article/details/6754808
0 0
- Java类集 _Map接口
- Java类集 _Map接口
- Java类集 _Map 接口的使用注意事项
- 【Java类集】_Map接口笔记(实例亲测)
- 【Java类集】_Map接口笔记(实例亲测)
- Java集合源码学习(18)_Map接口
- 【Java类集】_Map接口使用的注意事项笔记(亲测实例)
- 【Java类集】_Map接口使用的注意事项笔记(亲测实例)
- Java集合源码学习(20)_Map接口的实现HashMap
- Java集合源码学习(23)_Map的子接口ConcurrentMap
- Java集合源码学习(21)_Map接口的子接口SortedMap和NavigableMap
- Java集合源码学习(21)_Map接口子接口SortedMap和NavigableMap
- Java集合源码学习(19)_Map接口的抽象实现AbstractMap
- java第十五天_Map集合,
- java集合(下)_Map集合
- 黑马程序员—java基础_Map集合
- JAVA基础--db16_java泛型_map集合
- Java基础第十六天学习日记_Map集合
- caffe 中的工具函数
- 手机适配,density,dp和px的转换
- RxJava基础练习(2)
- 地理空间距离计算优化
- jQuery属性
- Java类集 _Map接口
- POJ 3678 2SAT总结
- ##**iOS蓝牙开发(一)蓝牙相关基础知识**
- SlidingMenu双向侧滑
- Axure产品原型在手机上如何运行
- javascript用户密码加密,js密码加密
- RxJava基础练习(3)
- JavaScript Window-浏览器对象模型
- jQuery遍历