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(迭代)来遍历
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(迭代)来遍历
相关文章推荐
- Map的keySet()方法 Iterator迭代的遍历
- struts2 <s:iterator>遍历Map的多种方法
- Java中遍历Map的两种方法:keySet和entrySet
- Java中遍历Map的两种方法:keySet和entrySet
- Map集合的四种遍历方式以及Map集合中value()方法与keySet()、entrySet()区别
- java Map的keySet方法,并遍历Map的值
- 遍历Map的两种方法:keySet()和entrySet()
- Java中遍历Map的两种方法:keySet和entrySet
- Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)
- 用iterator遍历map容器高效率方法
- Java中遍历Map的两种方法:keySet和entrySet
- struts2 <s:iterator>遍历Map的多种方法
- 遍历Map的两种方法:keySet()和entrySet() 以及ArrayList的toArray
- Java中遍历Map的两种方法:keySet和entrySet
- Map的keySet方法 关于iterator()的方法
- struts2 <s:iterator>遍历Map的多种方法
- Java 遍历Map的2种方法(KeySet、EntrySet)
- Iterator 遍历map的方法
- Map的两张遍历方法 keySet(),entrySet()
- JAVA中遍历Map的四种方法-大容量Map迭代推荐