设计模式之 策略模式

strategy 策略模式

public class Cat {
    private Integer height;
    private Integer weight;
}

现有一个List,要对它进行排序。

        List list = new ArrayList<>();
        list.add(new Cat(1,5));
        list.add(new Cat(5,3));
        list.add(new Cat(2,4));

用Comparator加泛型新增一个策略

        Comparator heightNullFisrtThenWeight = Comparator.nullsFirst(Comparator.comparing(Cat::getHeight)).thenComparing(Cat::getWeight);
        list.sort(heightNullFisrtThenWeight);

针对不同的设计有不同的排序策略,对它的排序规则进行设计;

你可能感兴趣的:(设计模式之 策略模式)