java - 然后其余的值需要设置升序
问题描述
假设,我有 6 个实例变量和一个包含 6 个值的数组。现在我想将第一个最大值设置为所选变量,将第二个最大值设置为另一个变量。然后其余的值需要设置升序。我怎样才能做到这一点 ?
解决方案
如果您需要一种方法来创建一个值列表,其中前 2 个值按降序排列,后 4 个值按升序排列,您可以按照此示例进行操作。
请注意,此示例使用List.of()
Java 9 和Stream
Java 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;
}
我将几个随机值作为变量值。
推荐阅读
- java - 我为 RSA 加密和解密编写了一个 Java 代码,其中解密密钥太大,因此解密过程需要永远执行
- instagram - 有没有办法从 Instagram 故事中检索民意调查选民名单?
- php - 如何将excel日期转换为正常的m/d/y格式php
- php - 如何从对象中获取价值?
- node.js - 如何配置 Puppeteer 以正确呈现外部 JS 页面?仅适用于本地主机 URL
- django - 基于数据在 Django 中创建具有特殊权限的子管理员
- c - C程序在头文件中的函数中显示冲突类型并在c文件中定义
- nfc - Libnfc 无法设置备用 USB 接口
- c# - 在 AzureFunction 上使用 RSACryptoServiceProvider
- ios - 有关 iOS 12.2 的 Airplay 多任务处理的任何信息?