那些遍历集合时,常用的方法大全

遍历集合

Iterator

迭代器iterator用法:
Java中Itreator功能比较简单,并且只能单向移动:

  • 使用iterator()方法要求容器返回一个Iterator对象。第一次调用 Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是 java.lang.Iterable接口,被Collection继承。
  • 使用next()方法获得序列中的下一个元素。
  • 使用hasNext()方法检查序列中是否还有元素。
  • 使用remove()方法将迭代器新返回的元素删除。

List

遍历循环List集合时,所用的方法:

List<String> list = new ArrayList<String>();
list.add("John");
list.add("Jenny");
list.add("Marry");
list.add("MrLi");
list.add("MrChen");
list.add("Wangwu");
System.out.println("for循环遍历的List集合顺序依次为:");
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}
System.out.println("foreach循环遍历的List集合顺序依次为:");
for (String i : list) {
    System.out.println(i);
}
System.out.println("iterator遍历循环的List集合顺序依次为:");
Iterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
    System.out.println("list("+((ListIterator<String>) iterator).nextIndex()+"):"+iterator.next());
}

实例编译运行后的结果为:

for循环遍历的List集合顺序依次为:
John
Jenny
Marry
MrLi
MrChen
Wangwu
foreach循环遍历的List集合顺序依次为:
John
Jenny
Marry
MrLi
MrChen
Wangwu
iterator遍历循环的List集合顺序依次为:
list(0):John
list(1):Jenny
list(2):Marry
list(3):MrLi
list(4):MrChen
list(5):Wangwu

Set

遍历循环Set集合时,所使用的方法:

Set<String> set = new HashSet<String>();
set.add("John");
set.add("Jenny");
set.add("Marry");
set.add("MrLi");
set.add("MrChen");
set.add("Wangwu");
System.out.println("for循环遍历的Set集合顺序依次为:");
Object[] strs = set.toArray();
for (int i = 0; i < strs.length; i++) {
    if (strs[i] instanceof String) {
        System.out.println(strs[i]);
    } else {
        System.out.println("此Set集合存储的所有元素并不为String类型");
    }
}
System.out.println("foreach循环遍历的Set集合顺序依次为:");
for (String s : set) {
    System.out.println(s);
}
System.out.println("iterator遍历循环的Set集合顺序依次为:");
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

实例编译运行后的结果为:

for循环遍历的Set集合顺序依次为:
Wangwu
MrLi
John
MrChen
Jenny
Marry
foreach循环遍历的Set集合顺序依次为:
Wangwu
MrLi
John
MrChen
Jenny
Marry
iterator遍历循环的Set集合顺序依次为:
Wangwu
MrLi
John
MrChen
Jenny
Marry

Map

遍历循环Map集合时,所使用的方法:

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("John", 16);
map.put("Jenny", 17);
map.put("Marry", 13);
map.put("MrLi", 20);
map.put("MrChen", 18);
map.put("Wangwu", 19);
System.out.println("foreach循环遍历的Map集合顺序依次为:");
Set<String> set = map.keySet();
for (String s : set) {
    System.out.println("map集合的key值为:" + s + ";value值为:" + map.get(s));
}

System.out.println("------------------------------------------------");
System.out.println("只获取Map集合中value的值:");
for (Integer i : map.values()) {
    System.out.println("map集合中value的值为:" + i);
}

System.out.println("------------------------------------------------");
System.out.println("获取Map.Entry<String, Integer>,利用foreach循环遍历key和value:");
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println("map集合的key:" + entry.getKey() + ";value:" + entry.getValue());
}

System.out.println("------------------------------------------------");
System.out.println("iterator遍历循环的Set集合顺序依次为:");
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<String, Integer> entry = iterator.next();
    System.out.println("map集合的key:" + entry.getKey() + ";value:" + entry.getValue());
}

实例编译运行后的结果为:

foreach循环遍历的Map集合顺序依次为:
map集合的key值为:Wangwu;value值为:19
map集合的key值为:MrLi;value值为:20
map集合的key值为:John;value值为:16
map集合的key值为:MrChen;value值为:18
map集合的key值为:Jenny;value值为:17
map集合的key值为:Marry;value值为:13
------------------------------------------------
只获取Map集合中value的值:
map集合中value的值为:19
map集合中value的值为:20
map集合中value的值为:16
map集合中value的值为:18
map集合中value的值为:17
map集合中value的值为:13
------------------------------------------------
获取Map.Entry<String, Integer>,利用foreach循环遍历key和value:
map集合的key:Wangwu;value:19
map集合的key:MrLi;value:20
map集合的key:John;value:16
map集合的key:MrChen;value:18
map集合的key:Jenny;value:17
map集合的key:Marry;value:13
------------------------------------------------
iterator遍历循环的Set集合顺序依次为:
map集合的key:Wangwu;value:19
map集合的key:MrLi;value:20
map集合的key:John;value:16
map集合的key:MrChen;value:18
map集合的key:Jenny;value:17
map集合的key:Marry;value:13
  • 有待补充…
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值