1. Map映射
- Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的Key,另外一组用于保存Map里的Value。Map存放键值对的集合。
- Map中的key和value都可以是任何引用类型的数据
- Map中的Key不允许重复,即同一个Map对象的任何两个Key通过equals方法比较都返回false
- Key和Value之间存在单向一对一关系,即通过指定的Key总能找到唯一的,确定的Value
2. 示例代码
package test.com.atguigu.javase.lesson7;
import com.atguigu.javase.lesson7.Person1;
import jdk.internal.org.objectweb.asm.tree.analysis.Value;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import java.util.*;
/**
* MapTest Tester.
*
* @author <Authors name>
* @version 1.0
* @since <pre>七月 5, 2018</pre>
*/
public class MapTestTest {
/**
* 1.添加
* 2.查找&遍历
* 3.删除
* 4.工具方法
*/
@Test
public void testMap() {
Map map = new HashMap();
map.put("AA", new Person1("AA", 12));
map.put("BB", new Person1("BB", 12));
map.put("CC", new Person1("CC", 12));
map.put("DD", new Person1("DD", 12));
map.put("EE", new Person1("EE", 12));
Map map1 = new HashMap();
map1.put("ONE", "111");
map1.put("TWO", "222");
map1.put("THREE", "333");
System.out.println(map.containsKey("SS"));
System.out.println(map.containsValue(new Person1("AA", 12)));
System.out.println(map.equals(map1));
Object value = map.get("DD");
System.out.println(value);
System.out.println(map.isEmpty());
Set keySet = map.keySet();
System.out.println(keySet);
map.putAll(map1);
map.remove("CC");
System.out.println(map.size());
Collection values = map.values();
System.out.println(values);
Set keySet2 = map.keySet();
Collection values2= map.values();
Iterator iterator = keySet2.iterator();
while(iterator.hasNext()){
Object key = iterator.next();
Object val = map.get(key);
System.out.println(key + " : " + val);
}
map.clear();
}
}