类集框架2

1.偶对象保存:Map接口

偶对象指的是一对对象,即两个对象要同时保存。这两个对象是按照key=value 的形式进行定义的,即可通过key找到相应的value数据。

Map接口的主要操作方法

No 方法名称 描述
1 public V put(K key, V value) 向集合中保存数据
2 public V get(Obeject key) 通过指定的key取得对应的value
3 public SetkeySet() 将Map中的所以key以Set集合的方式返回
4 public Set>entrySet() 将Map集合变为Set集合

在Map接口中有两个常用的子类HashMap和Hashtable

1.1 HashMap

HashMap是Map接口中使用最多的一个子类,子类定义如下
public class HsahMap
extends AbstractMap
implements Map,Cloneable,Serializable

例子:Map方法使用
import java.util.HashMap; import java.util.Map; public class test{ public static void main(String[] args) { Map map = new HashMap(); map.put(8, "张三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "赵六"); map.put(25, "张三"); System.out.println(map.get(8)); System.out.println(map.get(null)); } }
程序运行结果:
张三
李四


Map和Collection在操作上的不同:
Collection接口设置完内容的目的是为了输出
Map接口设置完的目的是为了查找


例:取得全部key,全部的key通过set集合返回
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Map map = new HashMap(); map.put(8, "张三"); map.put(null, "李四"); map.put(30, "王五"); map.put(6, "赵六"); map.put(25, "张三"); Setset = map.keySet(); Iterator iter = set.iterator(); while(iter.hasNext()){ Integer key =iter.next(); System.out.println(key+"---->"+map.get(key)); } } }
程序运行结果:
null---->李四

6---->赵六
8---->张三
25---->张三
30---->王五

1.2 Hashtable

Hashtable不能设置NULL
HashMap和Hashtable的区别

No 区别 HashMap Hashtable
1 推出时间 JDK1.2 JDK1.0
2 性能 采用异步处理方式,性能更高 采用同步处理方式,性能相对较低
3 安全性 非线程安全 线程安全
4 设置null 允许将key或value设置为null 不允许出现null否则出现空指针异常

关于Map集合的输出问题

public static interface Map.Entry
这是一个在Map接口中使用static定义的一个内部接口

在Map.Entry内部接口中有两个常用方法
取得当前的key:public K getKey();
取得当前的value:public V getValue();

Map使用使用Iterator输出的操作步骤

1使用Map接口中的entrySet()方法,将Map集合变为Set集合
2.取得了Set接口实例后就可以利用iterator()方法取得Iterator的实例化对象
3.使用Iterator迭代找到每一个Map.Entry对象,并进行key和value的分离

import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class test{ public static void main(String[] args) { Mapmap=new HashMap(); map.put(3,"hehe"); map.put(4,"haha"); map.put(20,"niebi"); Set>set=map.entrySet(); Iterator> iter=set.iterator(); while(iter.hasNext()){ Map.Entry me =iter.next(); System.out.println(me.getKey()+" "+me.getValue()); } } }

你可能感兴趣的:(类集框架2)