当前位置:首页 > Java

java如何遍历容器

2026-03-22 17:28:09Java

遍历List集合

使用for循环或增强for循环遍历List

List<String> list = Arrays.asList("A", "B", "C");
// 传统for循环
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}
// 增强for循环
for (String item : list) {
    System.out.println(item);
}

使用IteratorListIterator(支持双向遍历):

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}
// ListIterator示例
ListIterator<String> listIterator = list.listIterator();
while (listIterator.hasNext()) {
    System.out.println(listIterator.next());
}

遍历Set集合

Set的遍历方式与List类似,但无法通过索引访问:

Set<String> set = new HashSet<>(Arrays.asList("X", "Y", "Z"));
// 增强for循环
for (String item : set) {
    System.out.println(item);
}
// 使用Iterator
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

遍历Map集合

通过keySet()entrySet()values()遍历Map

Map<String, Integer> map = new HashMap<>();
map.put("Key1", 1);
map.put("Key2", 2);
// 遍历Key
for (String key : map.keySet()) {
    System.out.println(key + ": " + map.get(key));
}
// 遍历Entry(推荐,效率更高)
for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + ": " + entry.getValue());
}
// 仅遍历Value
for (Integer value : map.values()) {
    System.out.println(value);
}

使用Java 8 Stream API

通过forEach和Stream流式操作遍历:

List<String> list = Arrays.asList("A", "B", "C");
list.forEach(item -> System.out.println(item));
// 使用方法引用
list.forEach(System.out::println);
// Map的Stream遍历
map.entrySet().stream()
    .forEach(entry -> System.out.println(entry.getKey()));

遍历数组

数组可通过传统for循环或增强for循环遍历:

java如何遍历容器

String[] array = {"A", "B", "C"};
for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);
}
for (String item : array) {
    System.out.println(item);
}

注意事项

  • 使用Iterator时,避免在遍历过程中直接修改集合(如删除元素),应使用Iterator.remove()方法。
  • ConcurrentModificationException异常常因遍历时直接修改集合导致。
  • Java 8的forEach对性能敏感的场景可能不如传统循环高效。

标签: 遍历容器
分享给朋友:

相关文章

vue实现交叉遍历

vue实现交叉遍历

交叉遍历的实现方法 在Vue中实现交叉遍历通常指对两个数组或对象进行组合遍历,生成所有可能的配对组合。以下是几种常见实现方式: 使用嵌套v-for指令 Vue模板中可以通过嵌套v-for实现交叉遍历…

react如何遍历属猪

react如何遍历属猪

遍历数组的方法 在React中遍历数组有多种方式,可以根据具体需求选择合适的方法。 使用map方法 map是最常用的方法,它会返回一个新的数组,适合渲染列表元素。 const items = ['…

react map遍历 如何退出

react map遍历 如何退出

使用 return 或 break 的替代方案 在 Array.map() 中无法直接使用 break 或 return 退出循环,但可以通过以下方式模拟中断效果: 返回 null 或 undef…

react如何进行遍历

react如何进行遍历

遍历数组或对象的方法 在React中遍历数组或对象是常见的操作,通常用于渲染列表或动态生成组件。以下是几种常用的遍历方法: 使用map遍历数组 map是遍历数组并返回新数组的高阶函数,适合渲染列表。…

react如何遍历数组

react如何遍历数组

遍历数组的方法 在React中遍历数组并渲染元素,可以使用多种方法。以下是常见的几种方式: 使用map方法 map是React中最常用的数组遍历方法,它会返回一个新的数组,适合渲染列表。…

react 如何遍历虚拟dom

react 如何遍历虚拟dom

遍历虚拟DOM的方法 在React中,虚拟DOM(Virtual DOM)是一个轻量级的JavaScript对象,表示真实DOM的抽象。遍历虚拟DOM通常用于调试、性能优化或自定义渲染逻辑。以下是几种…