java 一个list<t>,写一个根据时间排序排序
时间: 2023-05-12 21:07:30 浏览: 113
可以使用Collections.sort()方法,传入一个Comparator对象,根据时间进行排序。具体代码如下:
```
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SortListByTime {
public static void sortListByTime(List<T> list) {
Collections.sort(list, new Comparator<T>() {
@Override
public int compare(T o1, T o2) {
// 根据时间进行比较,假设T类有一个getTime()方法返回时间戳
return o1.getTime() - o2.getTime();
}
});
}
}
```
其中T是泛型,代表List中存储的对象类型。
相关问题
java 一个list<t>,写一个根据字符串排序
可以使用Collections.sort()方法来对List进行排序,其中需要传入一个Comparator对象来指定排序规则。下面是一个根据字符串排序的示例代码:
```
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("pear");
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
System.out.println(list);
}
}
```
这段代码中,我们创建了一个List<String>对象,并向其中添加了一些字符串。然后使用Collections.sort()方法对List进行排序,传入一个匿名内部类作为Comparator对象,该内部类实现了compare()方法,用于比较两个字符串的大小关系。在这个示例中,我们使用了String类的compareTo()方法来进行比较,该方法会按照字典序比较两个字符串的大小。最后输出排序后的List即可。
java8 排序 一个list<string> 根据另一个list<string>排序
在Java 8中,可以使用`Comparator`接口和`Stream`来对一个`List<String>`根据另一个`List<String>`进行排序。下面是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "orange", "apple");
List<String> sortedList = sortList(list1, list2);
System.out.println(sortedList);
}
public static List<String> sortList(List<String> list1, List<String> list2) {
Map<String, Integer> indexMap = new HashMap<>();
for (int i = 0; i < list2.size(); i++) {
indexMap.put(list2.get(i), i);
}
Collections.sort(list1, Comparator.comparingInt(s -> indexMap.getOrDefault(s, Integer.MAX_VALUE)));
return list1;
}
}
```
在上面的代码中,我们首先创建了两个列表`list1`和`list2`,分别表示要排序的列表和排序依据的列表。然后,我们定义了一个`sortList`方法来对`list1`进行排序。在该方法中,我们创建了一个`HashMap`来存储`list2`中每个元素的索引位置。然后,我们使用`Collections.sort`方法和自定义的比较器来对`list1`进行排序,比较器根据`indexMap`中存储的索引位置进行比较。最后,返回排序后的列表。
运行上述代码,输出结果为:`[banana, orange, apple]`,表示根据`list2`对`list1`进行排序后的结果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)