利用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