标签:
1.Map概述
Map与Collection并列存在,用来保存具有映射关系的数据:Key-Value
上图是Map体系的继承树,最常用的是HashMap,LinkedHashMap用一个链表维护添加进Map的顺序,遍历得到的顺序和添加顺序一致。
2.Map中的主要方法
package org.tizen.moipservice;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
/*
*
Object put(Object key,Object value) 向Map中添加一个key以及value
Object remove(Object key) 删除制定的 key以及对应的value,即删除制定的key-value对
void putAll(Map t)
void clear()
Object get(Object key) 获取制定的key的value值,如无,返回null
boolean containsKey(Object key)
boolean containsValue(Object value)
int size()
boolean isEmpty()
boolean equals(Object obj)
*/
public class TestMain {
@Test
public void Test1()
{
Map m = new HashMap();
m.put("123a",97);
m.put("b",98);
m.put("AbC", 1221);
m.put("b", 101);
m.put("AA", 101);
System.out.println(m.size());
System.out.println(m);
System.out.println(m.remove("123a"));//remove返回要删除的对象,如果没有,返回null
System.out.println(m);
Integer i = (Integer )m.get("b");
System.out.println(i);
boolean b = m.containsValue(101);//判断是否有包含相同的value值,这儿value对应的类型需要重写equals方法
System.out.println(b);
}
/*
* 元视图操作的方法:
Set keySet()
Collection values()
Set entrySet()
*/
@Test
public void Test2()
{
Map m = new HashMap();
m.put("123a",97);
m.put("b",98);
m.put("AbC", 1221);
m.put(null,1);
//1.得到Map的KeySet,遍历
Set s = m.keySet();
System.out.println("遍历set");
for(Object o:s)
{
System.out.println(o);
}
//2.遍历values
Collection c = m.values();
System.out.println("增强for循环遍历values");
for(Object o:c)
{
System.out.println(o);
}
System.out.println("迭代器遍历values");
Iterator i = c.iterator();
while(i.hasNext())
{
System.out.println(i.next());
}
//3.遍历key-value对
Set s1 = m.entrySet();
for(Object o:s1)
{
Map.Entry entry = (Map.Entry)o;
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/u014338577/article/details/46899355