New features in Java 8

Source: Internet
Author: User

One, function-type programming

1. Lambda expression

parameter values, function body content, for example:

Before Java 8:
New Thread (New Runnable () {
@Override
public void Run () {
System.out.println ("Before Java8, too much code for too little");
}
}). Start ();

Java 8 Way:
New Thread ((), System.out.println ("in Java8, Lambda expression Rocks!"). Start ();

Other usage scenarios are: event handling, event monitoring code, iteration of the list (List.foreach (n-System.out.println (n));)

2. Method reference

Some lambda expressions simply execute a method call. In this case, without a lambda expression, it is easier to refer to the method directly by means of the method name, which is a method reference, a more concise and understandable type of lambda expression.

Arrays.sort (Stringsarray, string::comparetoignorecase);
is equivalent to

Arrays.sort (Stringsarray, (s1,s2)->s1.comparetoignorecase (S2));
shorthand for a method that already exists in a lambda expression directly from a method reference

Ii. Collection of new operations

1. Create a string list by filtering // 创建一个字符串列表,每个字符串长度大于2 List<String> filtered = strList.stream().filter(x -> x.length()> 2 ).collect(Collectors.toList());2. Apply a function to each element of the list // 将字符串换成大写并用逗号链接起来 List<String> G7 = Arrays.asList( "USA" , "Japan" , "France" , "Germany" , "Italy" , "U.K." , "Canada" ); String G7Countries = G7.stream().map(x -> x.toUpperCase()).collect(Collectors.joining( ", " )); System.out.println(G7Countries);3. Remove duplicate elements

List<Integer> numbers = Arrays.asList(9, 10, 3, 4, 7, 3, 4);

List<Integer> distinct = numbers.stream().map( i -> i*i).distinct().collect(Collectors.toList());

4. Calculate the maximum, minimum, sum, and average values of the SET elements

List<Integer> primes = Arrays.asList(2, 3, 5, 7, 11, 13, 17, 19, 23, 29);

IntSummaryStatistics stats = primes.stream().mapToInt((x) -> x).summaryStatistics();

System.out.println("Highest prime number in List : "+ stats.getMax());

System.out.println("Lowest prime number in List : "+ stats.getMin());

System.out.println("Sum of all prime numbers : "+ stats.getSum());

System.out.println("Average of all prime numbers : "+ stats.getAverage());

New features in Java 8

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.