JAVA 8 mapToInt()方法

mapToInt方法的基本用法

mapToInt方法接收一个ToIntFunction<? super T>类型的参数,这是一个函数式接口,定义了一个applyAsInt(T value)方法,该方法接受一个泛型参数T并返回一个int类型的值。通过这个接口,我们可以将流中的每个元素转换(或映射)为int类型。

使用场景

mapToInt方法的使用场景非常广泛,包括但不限于以下几种情况:

  1. 将字符串集合中的元素转换为整数:当集合中包含的是数字的字符串表示时,可以使用mapToInt方法结合Integer::parseInt方法将这些字符串转换为整数。

  2. 获取对象集合中某个属性的整数值:假设有一个对象集合,每个对象都有一个可以转换为整数的属性(如年龄、长度等),可以使用mapToInt方法结合属性访问方法(如Person::getAge)来获取这些整数值。

  3. 计算字符串长度:对于字符串集合,可以使用mapToInt方法结合String::length方法来获取每个字符串的长度。

示例代码

以下是几个使用mapToInt方法的示例:

  1. 将字符串集合中的元素转换为整数

    List<String> numbersAsStrings = Arrays.asList("1", "2", "3", "4", "5");  
    IntStream intStream = numbersAsStrings.stream().mapToInt(Integer::parseInt);  
    int sum = intStream.sum();  
    System.out.println("Sum of numbers: " + sum); // 输出: Sum of numbers: 15

  2. 获取对象集合中某个属性的整数值

    class Person {  
        private int age;  
    
        public Person(int age) {  
            this.age = age;  
        }  
    
        public int getAge() {  
            return age;  
        }  
    }  
    
    List<Person> people = Arrays.asList(new Person(20), new Person(30), new Person(40));  
    IntStream ageStream = people.stream().mapToInt(Person::getAge);  
    ageStream.forEach(System.out::println); // 输出每个人的年龄

  3. 计算字符串长度

    List<String> words = Arrays.asList("Apple", "Banana", "Orange");  
    IntStream lengthStream = words.stream().mapToInt(String::length);  
    lengthStream.forEach(System.out::println); // 输出每个单词的长度

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值