java 将 list里的对象按照startTime进行升序排列
时间: 2024-05-08 11:18:33 浏览: 36
可以通过实现Comparator接口来对list里的对象按照startTime进行升序排列,具体代码如下:
```
class CustomComparator implements Comparator<YourObject> {
@Override
public int compare(YourObject o1, YourObject o2) {
return o1.getStartTime().compareTo(o2.getStartTime());
}
}
List<YourObject> list = new ArrayList<YourObject>();
//...添加对象到list中
Collections.sort(list, new CustomComparator());
```
其中,`YourObject`是你自定义的对象,其中包含一个`startTime`属性,`getStartTime()`方法返回该属性的值。`CustomComparator`实现了`Comparator`接口,重写了`compare()`方法,使得比较两个`YourObject`对象时,按照它们的`startTime`属性进行升序排列。最后通过`Collections`的`sort()`方法对list进行排序。
相关问题
java 使用stream将 list里的对象按照startTime进行升序排列
可以使用Java 8的Stream API中的sorted()方法对List中的对象进行排序。具体实现如下:
假设List中存储的是类型为Event的对象,对象中有一个startTime属性表示事件开始时间,可以通过下面的代码实现按照startTime属性升序排列:
```java
List<Event> eventList = new ArrayList<>(); // 假设eventList中存储了Event对象
List<Event> sortedList = eventList.stream()
.sorted(Comparator.comparing(Event::getStartTime))
.collect(Collectors.toList());
```
通过调用stream()方法获取List的流对象,然后使用sorted()方法指定按照Event对象的startTime属性进行升序排序,最后使用collect()方法将排序后的结果重新封装为List返回。其中,Comparator.comparing()方法可以根据指定的对象属性获取一个比较器,这里使用方法引用的方式指定了按照Event对象的startTime属性进行比较。
阅读全文