利用Iterator输出Map集合


利用Iterator输出Map集合

map接口内部类的子接口方法:

public V getValue(); 获取key

public V getValue();获取value

案例:

package com.yidu.test;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class Love {

public static void main(String[] args) {
Map<Integer, String> map=new HashMap<Integer, String>();
map.put(1, "s1");

map.put(10, "s3");

map.put(3, "s2");
//利用map中的内部接口转为set集合
Set<Entry<Integer, String>> entry = map.entrySet();
//set集合有Iterator接口方法
Iterator<Entry<Integer, String>> itera = entry.iterator();
//利用Iterator接口迭代输出,找出每一个Map.entry接口对象
while(itera.hasNext()){

Entry<Integer, String> me = itera.next();
//输出key和value
System.out.println(me.getKey()+"="+me.getValue());

}

}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

自定义map的key类型:需要覆写equals()和hashcode()方法

不建议使用:

package com.yidu.test;

import java.util.HashMap;
import java.util.Map;
class Person{
private String name;
public Person(String name) {
this.name=name;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}

@Override
public String toString() {
return this.name;
}
}

public class Love {

public static void main(String[] args) {
Map<Person,String> map=new HashMap<Person,String>();
map.put( new Person("霉霉"),new String("ok"));
System.out.println(map.get(new Person("霉霉")));

}
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM