📜  Java中的流式 mapToLong() 和示例

📅  最后修改于: 2022-05-13 01:55:13.857000             🧑  作者: Mango

Java中的流式 mapToLong() 和示例

Stream mapToLong(ToLongFunction mapper)返回一个 LongStream,其中包含将给定函数应用于此流的元素的结果。

Stream mapToLong(ToLongFunction mapper) 是一个中间操作。这些操作总是懒惰的。在 Stream 实例上调用中间操作,在它们完成处理后,它们给出一个 Stream 实例作为输出。

句法 :

LongStream mapToLong(ToLongFunction mapper)

Where, LongStream is a sequence of primitive 
long-valued elements and T is the type 
of stream elements. mapper is a stateless function 
which is applied to each element and the function
returns the new stream.

示例 1: mapToLong()函数,返回流满足给定函数的操作。

// Java code for Stream mapToLong
// (ToLongFunction mapper) to get a
// LongStream by applying the given function
// to the elements of this stream.
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
  
        System.out.println("The stream after applying "
                        + "the function is : ");
  
        // Creating a list of Strings
        List list = Arrays.asList("25", "225", "1000",
                                                  "20", "15");
  
        // Using Stream mapToLong(ToLongFunction mapper)
        // and displaying the corresponding LongStream
        list.stream().mapToLong(num -> Long.parseLong(num))
            .filter(num -> Math.sqrt(num) / 5 == 3 )
            .forEach(System.out::println);
    }
}

输出 :

The stream after applying the function is : 
225

示例 2: mapToLong()函数返回字符串长度中的设置位数。

// Java code for Stream mapToLong
// (ToLongFunction mapper) to get a
// LongStream by applying the given function
// to the elements of this stream.
import java.util.*;
  
class GFG {
  
    // Driver code
    public static void main(String[] args)
    {
        // Creating a list of Strings
        List list = Arrays.asList("Data Structures", "JAVA", "OOPS",
                                             "GeeksforGeeks", "Algorithms");
  
        // Using Stream mapToLong(ToLongFunction mapper)
        // and displaying the corresponding LongStream
        // which contains the number of one-bits in 
        // binary representation of String length
        list.stream().mapToLong(str -> Long.bitCount(str.length()))
            .forEach(System.out::println);
    }
}

输出 :

4
1
1
3
2