您的位置:首页 > 编程语言 > Java开发

java中Map的简单运用

2015-12-15 18:42 435 查看
package Map;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Map.Entry;

import java.util.Set;

public class Map2 {

public static void main(String[] args){

Map<String,Person> map=new HashMap<String,Person>();

map.put("九纹龙", new Person("史进"));

map.put("混江龙", new Person("李进"));

map.put("入云龙", new Person("公孙胜"));

map.put("小旋风", new Person("柴进"));

map.put("青面兽", new Person("杨志"));

map.put("豹子头", new Person("林冲"));

map.put("玉麒麟", new Person("卢俊义"));

map.put("狐狸精", new Person("小三儿"));

map.put("小妖精", new Person("小三儿"));

System.out.println(map.isEmpty());

System.out.println(map.size());

/**

* 判断是否含有key健值

*/

boolean flag=map.containsKey("妖精");

System.out.println(flag);

boolean flag1=map.containsKey("小妖精");

System.out.println(flag1);

/**

* 获取map中的键集,因为key是无序不重复的,所以使用set

*/

Set<String> key=map.keySet();

System.out.println(key);

Iterator<String> key1=key.iterator();

while(key1.hasNext()){

String key2=key1.next();

Person p=map.get(key2);

System.out.println(key2+" "+p);

}

/**

* 因为这里又是创建了一个新的对象

* 此对象与存入map中的对象地址不相同,他们是两个不同的对象,所以返回false

*/

boolean flag2=map.containsValue(new Person("小妖精"));

System.out.println(flag2);

/**

* 获取map中的值集,此集合只能用Collection来接收返回值类型

*/

Collection<Person> person=map.values();

System.out.println(person);

for(Person p:person){

System.out.println(p);

}

/**

* 获取map中的健值集

*/

Set<Entry<String,Person>> q=map.entrySet();

System.out.println(q);

for(Entry<String,Person> e:q){

System.out.println(e);

}

System.out.println("**************************************");

/**

* 在Map映射中不能够使用Interator迭代器功能,也不能使用for.....each循环

*/

/*map.iterator();

for(Entry<String,Person> e:map){

System.out.println(e);

}*/

}

}

class Person{

private String name;

public Person(){

}

public Person(String name){

this.name=name;

}

@Override

public String toString() {

return "Person [name=" + name + "]";

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: