Java中的集合遍历方式详解

导言

在Java编程中,经常需要遍历集合(List、Set、Map)中的元素,以执行各种操作,例如查找、修改、删除或仅仅是打印元素。Java提供了多种遍历方式,每一种都适用于不同的情景。在本篇博客中,将详细探讨如何遍历List、Set和Map。

1.第一种遍历List

        1.1使用for-each 循环

List<String> list = new ArrayList<>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");

for (String item : list) {
    System.out.println(item);
}

for-each循环是一种简洁的方式,用于遍历List中的元素。它是最常见的List遍历方式之一。

        1.2 使用迭代器(Iterator)

List<String> list = new ArrayList<>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    String item = iterator.next();
    System.out.println(item);
}

使用迭代器遍历List允许你在遍历过程中执行删除操作,而不会引发并发修改异常。

        1.3使用Stream API

List<String> list = Arrays.asList("Item 1", "Item 2", "Item 3");

list.stream().forEach(item -> {
    System.out.println(item);
});

Stream API提供了一种函数式编程的方式来处理集合。它可以进行过滤、映射等操作,并且代码简洁。

2.第二种遍历Set

        2.1使用for-each 循环

Set<String> set = new HashSet<>();
set.add("Item 1");
set.add("Item 2");
set.add("Item 3");

for (String item : set) {
    System.out.println(item);
}

for-each循环同样适用于Set的遍历,它会遍历Set中的唯一元素。 

2.2使用迭代器(Iterator)

Set<String> set = new HashSet<>();
set.add("Item 1");
set.add("Item 2");
set.add("Item 3");

Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
    String item = iterator.next();
    System.out.println(item);
}

    使用迭代器遍历Set与遍历List类似,可以安全地在遍历过程中执行删除操作。

3.第三种遍历Map 

        3.1使用for-each 循环遍历键值对(EntrySet)

Map<Integer, String> map = new HashMap<>();
map.put(1, "Item 1");
map.put(2, "Item 2");
map.put(3, "Item 3");

for (Map.Entry<Integer, String> entry : map.entrySet()) {
    System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

使用for-each循环和entrySet()方法,你可以遍历Map中的键值对,非常方便地访问键和值。 

         3.2使用迭代器遍历键值对(EntrySet)

Map<Integer, String> map = new HashMap<>();
map.put(1, "Item 1");
map.put(2, "Item 2");
map.put(3, "Item 3");

Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<Integer, String> entry = iterator.next();
    System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}

使用迭代器遍历Map的键值对,同样可以在遍历过程中执行删除操作。 

         3.3遍历键或值

如果只需要遍历Map的键或值,可以使用keySet()values()方法。

遍历键:

for (Integer key : map.keySet()) {
    System.out.println("Key: " + key);
}

 遍历值:

for (String value : map.values()) {
    System.out.println("Value: " + value);
}

以上是在Java中遍历List、Set和Map的常见方式。选择合适的遍历方式取决于你的具体需求以及性能要求。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值