123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package J20250724.demo02_function_program;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.stream.Collectors;
- /**
- * @author WanJl
- * @version 1.0
- * @title Demo04
- * @description
- * @create 2025/7/24
- */
- public class Demo04 {
- public static void main(String[] args) {
- ArrayList<Integer> list=new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- list.add(i);
- }
- list.add(5);
- list.add(10);
- list.add(3);
- list.add(10);
- System.out.println(list);
- //把元素大于5的元素添加到新的List集合中
- List<Integer> integerList = list.stream()
- .filter(n -> n > 5)
- .collect(Collectors.toList());
- System.out.println(integerList);
- Set<Integer> integerSet = list.stream().filter(n -> n > 5)
- .collect(Collectors.toSet());
- System.out.println(integerSet);
- /*
- 创建一个ArrayList集合,添加以下字符串,字符串前面是姓名,后面是年龄,终结使用逗号分隔
- 张三,20
- 李四,35
- 王五,60
- 保留年龄大于20岁的人,并将结果收集到Map集合中,姓名是键,年龄是值。
- */
- ArrayList<String> myList=new ArrayList<>();
- myList.add("张三,20");
- myList.add("李四,35");
- myList.add("王五,60");
- Map<String, Integer> map = myList.stream().filter(
- s -> {
- String[] split = s.split(",");
- int age = Integer.parseInt(split[1]);
- return age > 20; //获取年龄大于20的
- }
- ).collect(Collectors.toMap(
- s -> s.split(",")[0], //获取姓名
- s -> Integer.parseInt(s.split(",")[1]) //获取年龄,转换为Integer类型
- ));
- System.out.println(map);
- }
- }
|