java如何实现遍历
遍历数组
使用for循环或增强for循环遍历数组。传统for循环通过索引访问元素,增强for循环直接迭代元素。
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可以使用Iterator或增强for循环。Map需要通过entrySet()、keySet()或values()进行遍历。
List<String> list = Arrays.asList("A", "B", "C");
// Iterator方式
Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
// 增强for循环
for (String s : list) {
System.out.println(s);
}
// Map遍历示例
Map<Integer, String> map = new HashMap<>();
map.put(1, "One");
map.put(2, "Two");
// 遍历Entry
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
// 遍历Key
for (Integer key : map.keySet()) {
System.out.println(key);
}
// 遍历Value
for (String value : map.values()) {
System.out.println(value);
}
使用Stream API
Java 8及以上版本可以使用Stream进行函数式遍历,支持链式操作和并行处理。
List<String> list = Arrays.asList("A", "B", "C");
// 顺序流
list.stream().forEach(System.out::println);
// 并行流
list.parallelStream().forEach(System.out::println);
// 带过滤的流
list.stream()
.filter(s -> s.startsWith("A"))
.forEach(System.out::println);
递归遍历树结构
处理树形数据时常用递归方法,需注意终止条件避免栈溢出。

class TreeNode {
int val;
TreeNode left;
TreeNode right;
}
void traverseTree(TreeNode root) {
if (root == null) return;
System.out.println(root.val); // 前序遍历
traverseTree(root.left);
traverseTree(root.right);
}
注意事项
集合遍历时若需要修改内容,应使用Iterator的remove()方法避免ConcurrentModificationException异常。并行流适合大数据量但需注意线程安全问题。






