To sort a list of objects by a filedTime field in ascending order in Java, you can use the Collections.sort() method along with a Comparator. Below is a step-by-step example:
Example: Sorting a List of Objects by filedTime
Let's assume you have a class Record with a filedTime field and a list of Record objects that you want to sort.
Step 1: Define the Record Class
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Record {
private int id;
private LocalDateTime filedTime;
private String name;
// Constructor
public Record(int id, String filedTime, String name) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
this.id = id;
this.filedTime = LocalDateTime.parse(filedTime, formatter);
this.name = name;
}
// Getters
public int getId() {
return id;
}
public LocalDateTime getFiledTime() {
return filedTime;
}
public String getName() {
return name;
}
// toString method for easy printing
@Override
public String toString() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return "Record{" +
"id=" + id +
", filedTime=" + filedTime.format(formatter) +
", name='" + name + '\'' +
'}';
}
}
Step 2: Create and Sort the List of Record Objects
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Main {
public static void main(String[] args) {
// Create a list of Record objects
List<Record> records = new ArrayList<>();
records.add(new Record(1, "2023-05-20 10:00:00", "Record 1"));
records.add(new Record(2, "2023-04-15 09:30:00", "Record 2"));
records.add(new Record(3, "2023-06-10 11:00:00", "Record 3"));
// Sort the list by filedTime in ascending order
Collections.sort(records, new Comparator<Record>() {
@Override
public int compare(Record r1, Record r2) {
return r1.getFiledTime().compareTo(r2.getFiledTime());
}
});
// Print the sorted list
for (Record record : records) {
System.out.println(record);
}
}
}
Explanation
-
RecordClass:- The
Recordclass has fieldsid,filedTime, andname. - The
filedTimefield is of typeLocalDateTimefor accurate date-time comparison. - The constructor parses the
filedTimestring into aLocalDateTimeobject. - The
toStringmethod formats thefiledTimeback to a string for easy printing.
- The
-
Sorting the List:
- In the
Mainclass, a list ofRecordobjects is created and populated. - The
Collections.sort()method is used with a customComparatorthat comparesfiledTimefields. - The
comparemethod of theComparatorusesLocalDateTime'scompareTomethod to sort the records.
- In the
This approach ensures that your Record objects are sorted by the filedTime field in ascending order.
1427

被折叠的 条评论
为什么被折叠?



