您的位置:首页 > 其它

Map的keySet()方法 Iterator迭代的遍历

2012-09-24 14:46 302 查看
有一个Map对象,这时候使用keySet()方法获取所有的key值,比如:
Map map = new HashMap();

map.put(1, "a");

map.put(2, "b");

map.put(3, "c");

map.put(4, "d");

Set keys1 = map.keySet();

Set keys2 = map.keySet();

Set keys3 = map.keySet();
上面三个set对象key1,key2,key3引用的是一个对象。这是map的keySet()方法只返回一个set实例,所以当从key1中删除一个对象时候,key2和key3将会受到影响。

keys1.remove(1);

System.out.println(keys1);

System.out.println(keys2);

System.out.println(keys3);

打印结果为:

[2, 4, 3]

[2, 4, 3]

[2, 4, 3]

 

 

import java.util.*; 

public class collectionProblem 



public static void main(String[] args) 



HashSet set=new HashSet(10); 

set.add("1"); 

set.add("2"); 

set.add("3"); 

Iterator it=set.iterator(); 

while (it.hasNext()) 



System.out.println(it.next()); 







打印的顺序于你插入的顺序无关,而与你插入的内容有关(根据HASHCODE排序)的!(HASHSET内部是按HASHCODE排序的!)

iterator()是为了各种集合的实现类能有一个统一的遍历方式,不必每种都记一个

在遍历集合用,比如: 

String[] strArr = new String[] { 

"a", "b", "c", "d", "e"}; 

List list = Arrays.asList(strArr); 

Iterator iterator = list.iterator(); 

String temp=null; 

while (iterator.hasNext()) { 

temp=(String)iterator.next(); 

System.out.println(temp); 





一般集合类都可用Iterator(迭代)来遍历
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息