超详细的Java知识点路线图
本文将介绍Collections工具类和迭代、排序的相关接口,还有Java8推出的强大工具:Lambda表达式,它们将大大提高我们使用集合的效率。
集合操作的工具类
常用方法:
Collections.sort(List集合)
集合中的对象必须实现Comparable接口
汽车按价格排序
Comparator接口提供比较的方式,可以在运行时指定排序方式
Collections.sort(List集合,Comparator比较器)
按多种方式进行排序
作用是对数据进行遍历,不需要考虑数据的数据结构,提供通用的遍历方式。
- Iterator iterator() 返回迭代器
List接口继承Collection接口,Collection继承Iterable接口。
进行foreach循环时,会自动调用iterator(),返回迭代器对象,执行next和hasNext完成数据遍历
Lambda表达式是Java1.8的重要特性,能使用非常简洁的代码,完成对接口的实现。
应用场景是:实现函数式接口(FunctionalInterface)
函数式接口通常只有一个需要实现的方法,如:Comparator
语法特点:
用Lambda实现排序
List集合.forEach(Consumer接口)
示例:
java1.8推出的Stream接口,提供对集合操作的一系列方法
集合的筛选
集合的收集
集合的排序
限制返回值个数
找最大值
Stream的使用
作业:
- 定义食品类,属性有:名称、价格(double)、重量(double)、保质年数(int),重写toString方法
创建食品集合,添加一定数量的食品
用户输入排序方式(1、价格 2、重量 3、保质期)
按排序方式进行排序,并显示
显示价格在100以下,重量超过10,保质期超过2年的所有商品。
显示价格最高的1样商品