java 如何遍历
遍历数组
在Java中,可以通过传统的for循环或增强型for循环(for-each)遍历数组。
int[] arr = {1, 2, 3};
// 传统for循环
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 增强for循环
for (int num : arr) {
System.out.println(num);
}
遍历集合(List/Set)
集合类(如ArrayList、HashSet)支持多种遍历方式:

- 迭代器(Iterator)
List<String> list = Arrays.asList("a", "b", "c"); Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } - 增强型for循环
for (String s : list) { System.out.println(s); } - Java 8+的forEach方法
list.forEach(System.out::println);
遍历Map
Map的遍历需要处理键值对,常用方式如下:

- 遍历EntrySet
Map<String, Integer> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + ":" + entry.getValue()); } - 遍历KeySet或Values
for (String key : map.keySet()) { System.out.println(key); } for (Integer value : map.values()) { System.out.println(value); } - Java 8+的forEach
map.forEach((k, v) -> System.out.println(k + ":" + v));
遍历字符串字符
使用charAt或转换为字符数组:
String str = "hello";
for (int i = 0; i < str.length(); i++) {
System.out.println(str.charAt(i));
}
// 或
for (char c : str.toCharArray()) {
System.out.println(c);
}
遍历自定义对象集合
若集合包含自定义对象,需确保对象类重写了toString()方法,或直接访问其属性:
class Person {
String name;
Person(String name) { this.name = name; }
@Override
public String toString() { return name; }
}
List<Person> people = Arrays.asList(new Person("Alice"), new Person("Bob"));
people.forEach(System.out::println);
注意事项
- 遍历时避免修改集合结构(如删除元素),否则可能抛出
ConcurrentModificationException。 - 大数据量下,优先选择迭代器或Java 8的流式操作以提高性能。






