策略模式
策略模式就是对一个类进行整理,排序,过滤等
实体类
package ink.yql.strategy;
import java.util.Comparator;
// 实现离Comparable, Comparable本身就是策略模式
public class User implements Comparable<User> {
private int uid;
private String name;
public User() {
}
public User(int uid, String name) {
this.uid = uid;
this.name = name;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override //重写compareTo ,比较方法
public int compareTo(User o) {
return this.uid - o.getUid();
}
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", name='" + name + '\'' +
'}';
}
}
测试
package ink.yql.strategy;
import java.util.ArrayList;
public class Test01 {
public static void main(String[] args) {
ArrayList<User> list = new ArrayList<>();
list.add(new User(6,"赵六"));
list.add(new User(2,"呵呵"));
list.add(new User(1,"哈哈哈"));
list.add(new User(5,"雷武"));
list.add(new User(3,"张三"));
list.add(new User(4,"李氏"));
// 使用java8新特性进行遍历输出
list.forEach(System.out::println);
// 使用集合的方法进行排序
list.sort(User::compareTo);
// 使用java8新特性进行遍历输出
list.forEach(System.out::println);
}
}