Java-day06-lambda和Collection

一:lambda表达式

  • 定义

       lambda表达式:是Java8中的新特性

       lambda表达式:可以理解为只有一个抽象方法的接口

       Java8中引入Lambda表达式,使得java可以函数式编程,在并发性能行迈出了实质性一步

  • 函数式编程

  • 比较lambda表达式和匿名内部类

 

  

  •  基本语法:

 

  例子:

    

     

  • lambda表达式在方法引用和构造器引用

     1.引用类方法

      

     2.引用特定对象的实例方法

      

      3.引用某类对象的实例方法

       

       4.引用构造方法

        

  • lambda表达式的实际应用

     1.遍历集合

        

     2.多线程的使用

         

     3.Collections排序的使用

         

     4.动态代理

        

二:集合

  •  集合和数组的区别

     

  •  分类

      

     

  •  Collection

      1.Collection中定义的整个集合体系最共性的方法

       

       

  • 迭代器

     

  • List和Set

     List是有序可重复的

    

   List的特有方法:

    

 

    

    LinkedList的特有方法:

     

   Set是不可重复的,无序的

     

     TreeSet可以实现排序和去重

      

       

       

       

  •   Vector

    

  • 泛型

     1.定义: 泛型:通过<数据类型>接收一种数据类型,在编译的时候会使用这种数据类型检测集合中的元素,
      如果元素不是<>中规定的类型,就不允许添加到当前的集合中(编译失败)

     2.作用:(1)使用了泛型不再需要进行容错处理,向下转型,强制类型转换----简化代码
                   (2)将运行阶段的问题提前到编译阶段检查,提高了代码的安全性和编程效率

     3.泛型可以修饰的地方:类、方法、接口

     泛型应用在类上:

       

   泛型应用在方法上(泛型在使用时可以一次定义多个,之间使用逗号隔开):

       

   泛型应用在接口上:

      

  •  Java中?的使用:

      ?:通配符,可以表示一种或几种数据类型

       限制上限:<?extends E>:限制的是整个的<>可以取的泛型类型的上限是E,<>中可以取的类型是E及E的子类

       限制下限:<? super E>::限制的是整个的<>可以取的泛型类型的下限是E,<>中可以取的类型是E及E的父类

      例子:

      

     

  •  增强for循环

      增强for循环可以遍历的内容有:数组,Collection,Map。但是Map不能直接遍历

      结构: for(元素:数组/Collection){

                            内容

                    }

      原理:每次遍历开始后,会自动从数组中依次取出一个元素放入前面的变量中,当次循环的操作使用的就是这个元素.
      遍历完成之后,会自动进行第二次遍历.一直到数组的末尾.所有元素遍历结束.循环停止.

       eg:遍历Map

       

  •  Collections:封装了大量操作Collection的工具

        1.使用Collections排序
           第一种排序:默认按照字典进行排序
           注意:要想list中的元素可以按照字典排序,元素必须实现Comparable接口

        2.倒叙字典排序

         

        3.求最大值

         

      eg:Collections的方法可以穿进去一个比较器对象,让元素按照比较器的规则来比较

         比较器要实现Comparator接口重写里面的compare方法

         例如:

           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值