实例1
@Test
public void test01(){
Comparator<Integer> com = new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o1 - o2;
}
};
Set<Integer> set = new TreeSet<Integer>(com);
set.add(5);
set.add(2);
set.add(1);
set.add(7);
for(Integer i : set){
System.out.println(i);
}
}
@Test
public void test02(){
Comparator<Integer> com = (x,y) ->Integer.compare(x,y);
Set<Integer> set = new TreeSet<Integer>(com);
set.add(5);
set.add(2);
set.add(1);
set.add(7);
for(Integer i : set){
System.out.println(i);
}
}
实例2
package com.byx.bean;
public class Employees {
private String name;
private Integer age;
private double salary;
public Employees(String name, Integer age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public Employees() {
}
@Override
public String toString() {
return "Employees{" +
"name='" + name + '\'' +
", age='" + age + '\'' +
", salary=" + salary +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
package com.byx.inter;
import com.byx.bean.Employees;
import java.util.List;
public interface FilterEmployee<T> {
public boolean FilterEmployees(Employees employees);
}
@Test
public void test03(){
FilterEmployee<Employees> fm = new FilterEmployee<Employees>() {
@Override
public boolean FilterEmployees(Employees employees) {
return employees.getAge() > 35;
}
};
List<Employees> list = Arrays.asList(new Employees("张三",23,3333.33),
new Employees("李四",24,9999.99)
,new Employees("王五",55,6666.66)
,new Employees("赵六",16,7777.77));
List<Employees> employeesList = new ArrayList<>();
for(Employees employees : list){
if(fm.FilterEmployees(employees)){
employeesList.add(employees);
}
}
for(Employees employees : employeesList){
System.out.println(employees);
}
}
@Test
public void test04(){
FilterEmployee<Employees> fm = (employees) -> employees.getAge()>35;
FilterEmployee<Employees> fm2 = (e) -> e.getSalary() >= 6666.66;
List<Employees> list = Arrays.asList(new Employees("张三",23,3333.33),
new Employees("李四",24,9999.99)
,new Employees("王五",55,6666.66)
,new Employees("赵六",16,7777.77));
List<Employees> employeesList = new ArrayList<>();
for(Employees employees : list){
if(fm2.FilterEmployees(employees)){
employeesList.add(employees);
}
}
for(Employees employees : employeesList){
System.out.println(employees);
}
}