欢迎访问宙启技术站
智能推送

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都可以操作集合,各有优劣,需要根据场景选择合适的方法。