Java函数如何对集合进行遍历和操作?
发布时间:2023-06-19 06:35:07
Java提供了丰富的集合类,如List、Set、Map等。使用Java集合可以方便地处理数据,但是如何对集合进行遍历和操作呢?本文将介绍Java函数如何对集合进行遍历和操作,包括for循环、迭代器、Lambda表达式和Stream API。
1. 使用for循环遍历集合
使用for循环遍历集合是最基本的方法,也是最容易理解的方法。以下是一个使用for循环遍历List的示例:
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
for(String s : list){
System.out.println(s);
}
输出结果为:
a b c
同样,使用for循环遍历Set和Map也类似:
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
for(String s : set){
System.out.println(s);
}
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
for(Map.Entry<String, Integer> entry : map.entrySet()){
System.out.println(entry.getKey() + ":" + entry.getValue());
}
2. 使用迭代器遍历集合
使用迭代器也是一种常见的遍历集合的方法。以下是使用迭代器遍历List的示例:
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
输出结果和使用for循环遍历一样。
同样,使用迭代器遍历Set和Map也类似:
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, Integer> entry = iterator.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
}
3. 使用Lambda表达式遍历集合
使用Lambda表达式可以更方便地遍历集合。以下是使用Lambda表达式遍历List的示例:
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.forEach(s -> System.out.println(s));
输出结果和使用for循环遍历一样。
同样,使用Lambda表达式遍历Set和Map也类似:
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set.forEach(s -> System.out.println(s));
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.forEach((k, v) -> System.out.println(k + ":" + v));
4. 使用Stream API操作集合
使用Stream API可以更方便地对集合进行操作。以下是使用Stream API对List进行过滤和打印的示例:
List<String> list = new ArrayList<>();
list.add("abc");
list.add("defg");
list.add("hijkl");
list.stream()
.filter(s -> s.length() > 3)
.forEach(System.out::println);
输出结果为:
defg hijkl
同样,使用Stream API对Set和Map也类似:
Set<String> set = new HashSet<>();
set.add("abc");
set.add("defg");
set.add("hijkl");
set.stream()
.filter(s -> s.length() > 3)
.forEach(System.out::println);
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("bb", 2);
map.put("ccc", 3);
map.entrySet().stream()
.filter(entry -> entry.getValue() > 1)
.forEach(entry -> System.out.println(entry.getKey() + ":" + entry.getValue()));
以上是Java函数如何对集合进行遍历和操作的介绍,使用for循环、迭代器、Lambda表达式和Stream API都可以操作集合,各有优劣,需要根据场景选择合适的方法。
