目录
前言
字符串篇
1.1 使用 for 循环和 charAt 方法
1.2 使用增强 for 循环(forEach 循环)
1.3 使用 Java 8 的 Stream API
最终效果
数组篇
2.1 使用普通 for 循环
2.2 使用增强型 for 循环( forEach 循环)
2.3 使用 Arrays.asList 和 forEach 循环(仅适用于对象数组)
2.4 使用 Java 8 的Stream API
最终效果
集合篇
3.1 List、Set集合
3.1.1 使用普通 for 循环(Set 集合除外)
3.1.2 使用增强型 for 循环 (forEach 循环)
3.1.3 使用迭代器(Iterator)
3.1.4 使用 Java 8 的 Stream API
3.1.5 使用Lambda表达式和方法引用
最终效果
3.2 Map集合
3.2.1 遍历 “键” 集合
效果
3.2.2 遍历 “键值对”(Entry)
3.2.3 使用迭代器(Iterator)
3.2.4 使用 Java 8 的 Steam API
效果
注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况,请谅解,点击侧栏目录进行跳转
前言
在 Java 的学习过程和项目开发过程中,我们需要对 “字符串”、“数组”、“集合类(List、Set、Map)”等对象中的元素 “访问”、“筛选”、“处理” 等操作,不同的遍历方式使用于不同的场景和需求;接下来,我对 “字符串”、“数组”、“集合(List、Set、Map)”的常见遍历方法进行了归纳;
↓↓↓ 各位看官,请阅读下问 ↓ ↓↓
字符串篇
1.1 使用 for 循环和 charAt 方法
String str = "Hello,World!";for(int i = 0; i < str.length();i++){char c =str.charAt(i);System.out.print(c + "\t");
}
1.2 使用增强 for 循环(forEach 循环)
String str ="Hello,World!";for(char c : str.toCharArray()){System.out.print(c + "\t");
}
1.3 使用 Java 8 的 Stream API
将字符串转换为字符流,然后使用 forEach 方法进行处理
String str = "Hello, World!";str.chars().mapToObj(c -> (char) c).forEach(ch -> {System.out.print(ch + "\t");
});
最终效果
H e l l o , W o r l d !
数组篇
2.1 使用普通 for 循环
int[] arr = {1, 2, 3, 4, 5};for (int i = 0; i < arr.length; i++) {int element = arr[i];System.out.print(element +"\t");
}
2.2 使用增强型 for 循环( forEach 循环)
int[] arr = {1, 2, 3, 4, 5};for (int element : arr) {System.out.print(element + "\t");
}
2.3 使用 Arrays.asList 和 forEach 循环(仅适用于对象数组)
Integer [] arr = {1, 2, 3, 4, 5};for (Integer element : Arrays.asList(arr)) {System.out.print(element + "\t");
}
2.4 使用 Java 8 的Stream API
int[] arr = {1, 2, 3, 4, 5};Arrays.stream(arr).forEach(element -> {System.out.print(element + "\t");
});
最终效果
1 2 3 4 5
集合篇
3.1 List、Set集合
3.1.1 使用普通 for 循环(Set 集合除外)
List<String> list = new ArrayList<>();//向集合中添加元素
String[] arr ={"1","3","5","7","9"};
list.addAll(Arrays.asList(arr));//开始遍历
for (int i = 0; i < list.size(); i++) {String element = list.get(i);System.out.print(element + "\t");
}
3.1.2 使用增强型 for 循环 (forEach 循环)
List<String> list = new ArrayList<>();//向集合中添加元素
String[] arr ={"1","3","5","7","9"};
list.addAll(Arrays.asList(arr));//开始遍历
for (String element : list) {System.out.print(element + "\t");
}
3.1.3 使用迭代器(Iterator)
List<String> list = new ArrayList<>();//向集合中添加元素
String[] arr ={"1","3","5","7","9"};
list.addAll(Arrays.asList(arr));//开始遍历
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {String element = iterator.next();System.out.print(element + "\t");
}
3.1.4 使用 Java 8 的 Stream API
List<String> list = new ArrayList<>();//向集合中添加元素
String[] arr ={"1","3","5","7","9"};
list.addAll(Arrays.asList(arr));//开始遍历
list.stream().forEach(element -> {System.out.print(element + "\t");
});
3.1.5 使用Lambda表达式和方法引用
List<String> list = new ArrayList<>();//向集合中添加元素
String[] arr ={"1","3","5","7","9"};list.addAll(Arrays.asList(arr));//开始遍历
list.forEach(System.out::print);
最终效果
1 3 5 7 9
3.2 Map集合
3.2.1 遍历 “键” 集合
Map<String, Integer> map = new HashMap<>();// 添加元素到map中
map.put("key1", 1);
map.put("key2", 2);
map.put("key3", 3);
map.put("key4", 4);
map.put("key5", 5);for (String key : map.keySet()) {Integer value = map.get(key);System.out.print(value +"\t");
}
效果
1 2 5 3 4
3.2.2 遍历 “键值对”(Entry)
Map<String, Integer> map = new HashMap<>();// 添加元素到map中
map.put("key1", 1);
map.put("key2", 2);
map.put("key3", 3);
map.put("key4", 4);
map.put("key5", 5);for (Map.Entry<String, Integer> entry : map.entrySet()) {String key = entry.getKey();Integer value = entry.getValue();System.out.print(key +":" + value +"\t");
}
3.2.3 使用迭代器(Iterator)
Map<String, Integer> map = new HashMap<>();// 添加元素到map中
map.put("key1", 1);
map.put("key2", 2);
map.put("key3", 3);
map.put("key4", 4);
map.put("key5", 5);Iterator<String> keyIterator = map.keySet().iterator();
while (keyIterator.hasNext()) {String key = keyIterator.next();Integer value = map.get(key);System.out.print(key +":" + value +"\t");}
3.2.4 使用 Java 8 的 Steam API
Map<String, Integer> map = new HashMap<>();// 添加元素到map中
map.put("key1", 1);
map.put("key2", 2);
map.put("key3", 3);
map.put("key4", 4);
map.put("key5", 5);map.keySet().stream().forEach(key -> {Integer value = map.get(key);System.out.print(key +":" + value +"\t");
});
效果
key1:1 key2:2 key5:5 key3:3 key4:4