首页 > 解决方案 > 然后其余的值需要设置升序

问题描述

假设,我有 6 个实例变量和一个包含 6 个值的数组。现在我想将第一个最大值设置为所选变量,将第二个最大值设置为另一个变量。然后其余的值需要设置升序。我怎样才能做到这一点 ?

标签: javaarrays

解决方案


如果您需要一种方法来创建一个值列表,其中前 2 个值按降序排列,后 4 个值按升序排列,您可以按照此示例进行操作。

请注意,此示例使用List.of()Java 9 和StreamJava 8 中的方法。

    public static void main(String[] args) {

    final DataHolder data = new DataHolder();

    final List<Integer> availableList = List.of(data.var1, data.var2, data.var3, data.var4, data.var5, data.var6);

    final List<Integer> expectedList = 
            Stream.concat(
                    availableList.stream()
                    .sorted(Comparator.reverseOrder())
                    .limit(2),
                    availableList.stream()
                    .sorted()
                    .limit(4))
            .collect(Collectors.toList());

    System.out.println(expectedList);
    }

数据持有者类:

public class DataHolder {

    public int var1 = 25;
    public int var2 = 42;
    public int var3 = 52;
    public int var4 = 27;
    public int var5 = 19;
    public int var6 = 56;

}

我将几个随机值作为变量值。


推荐阅读