java 取出List<STAtus>中的MONTH值放一个LIst[ '5', '6', '7', '8', '9', '10', '11', '12', '1', '2', '3', '4']并根据原先的ID排序
时间: 2024-04-16 15:23:13 浏览: 44
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
要取出List<Status>中的MONTH值并放入一个List,可以使用Java的流式操作和Lambda表达式来实现。首先,需要导入java.util.stream和java.util.Comparator类。
假设List<Status>的名称为statusList,其中Status类包含一个名为getMonth()的方法来获取MONTH值,以及一个名为getId()的方法来获取ID值。
以下是实现的代码示例:
```java
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Status> statusList = ...; // 假设已经初始化了statusList
List<String> monthList = statusList.stream()
.map(status -> status.getMonth())
.collect(Collectors.toList());
monthList.sort(Comparator.comparingInt(Integer::parseInt));
System.out.println(monthList);
}
}
class Status {
private String month;
private int id;
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
```
上述代码中,首先使用stream()方法将statusList转换为流,然后使用map()方法将每个Status对象的MONTH值提取出来,最后使用collect()方法将提取出的MONTH值收集到一个新的List中。
接着,使用sort()方法对新的List进行排序,这里使用Comparator.comparingInt()方法以整数方式比较月份值。
最后,打印排序后的月份List。
阅读全文