zoukankan      html  css  js  c++  java
  • lambda表达式

    package lambda;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    import java.util.Random;
    
    /**
     * lambda表达式
     * JDK1.8之后推出的一个新特性
     * 
     * lambda特性也是编译器认可的,用来简化对于仅有一个
     * 方法的匿名内部类的创建,但是表一起在编译程序后
     * 还是会将lambda改为传统形式。
     * lambda语法:
     * 基本组成部分
     * ([arg1,arg2....])->{语句...}
     * 若语句块只有一句,则{}可以省略。
     * 注:在语法描述中,[]用于表示里面的内容可有可无
     * 
     *
     */
    
    public class Demo {
    	public static void main(String[] args) {
    //		Runnable runn =new Runnable() {
    //		public void run() {
    //			System.out.println("啦啦啦");
    //		}
    //	};
    		
    	//下面代码 Runnable 等同于上面的
    	Runnable runn =()-> System.out.println("啦啦啦");
    	Thread t =new Thread(runn);
    	t.start();
    	
    	//创建10个随机范围在100以内的数
    	//给它从大往下排序排序
    	Random random =new Random();
    	List<Integer> list =new ArrayList<Integer>();
    	for(int i=0 ;i<10;i++) {
    		list.add(random.nextInt(100));
    	}
    	System.out.println(list);
    	Collections.sort(list);//从小往大排序
    	System.out.println(list);
    	
    //	Collections.sort(list, new Comparator<Integer>() {
    //		public int compare(Integer o1, Integer o2) {
    //			return o2-o1;
    //		}
    //	});
    	/**
    	 * lambda表达式实现方法中若只有一句话,且含有return时
    	 * 忽略i{}的同时也要忽略return,若该方法有参数,那么不需要
    	 * 定义参数的类型
    	 */
    	//下面代码等同于上面注释的代码
    	Collections.sort(list,(o1,o2)->o2-o1);//从大往小排序
    	System.out.println(list);
    	
    	List<String> list1 =new ArrayList<String>();
    	list1.add("one");
    	list1.add("two");
    	list1.add("three");
    	list1.add("four");
    	list1.add("five");
    //	for(String e :list1) {
    //		System.out.println(e);
    //	}
    //	
    	//用lambda方法可以遍历集合元素,等同于上面的方法
    	list1.forEach(e->System.out.println(e));
    	
    	
    	
    	
    	
    	}
    }
    

      

  • 相关阅读:
    平台升级至spring 4.3.0 运行稳定
    java过滤特殊字符的正则表达式
    xheditor-文件上传-java-支持html5-application/octet-stream
    java用正则方法验证文件名是否合法
    Java实现在线预览Word,Excel,Ppt文档
    为什么用freemarker视图?
    Java中判断String不为空的问题性能比较
    解决org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource
    Java Swing 使用非本地字体
    第三方包jintellitype实现Java设置全局热键
  • 原文地址:https://www.cnblogs.com/xyk1987/p/8378818.html
Copyright © 2011-2022 走看看