Java对象之间的比较

it2025-03-02  22

import java.util.*; class book{ public long id; public int category; public int words; public String updatetime; public book(long id, int category, int words, String updatetime) { this.id = id; this.category = category; this.words = words; this.updatetime = updatetime; } public long getId() { return id; } public int getCategory() { return category; } public int getWords() { return words; } public String getUpdatetime() { return updatetime; } @Override public String toString() { return "book{" + "id=" + id + ", category=" + category + ", words=" + words + ", updatetime='" + updatetime + '\'' + '}'; } } public class Lambdas { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int count = sc.nextInt(); sc.nextLine(); List<book> list = new ArrayList<>(count); for(int i = 0; i < count; i++) { String raw = sc.nextLine(); String[] items = raw.split(","); long id = Long.parseLong(items[0]); int category = Integer.parseInt(items[1]); int words = Integer.parseInt(items[2]); String updatetime = items[3]; list.add(new book(id, category, words, updatetime)); } list.sort(new Comparator<book>() { @Override public int compare(book o1, book o2) { if(o1.category > o2.category) return 1; else if(o1.category < o2.category) return -1; else{ if(o1.updatetime.compareTo( o2.updatetime)>0) return 1; else if(o1.updatetime.compareTo( o2.updatetime)<0) return -1; else { if(o1.words > o2.words) return 1; else if(o1.words < o2.words) return -1; else { if(o1.id > o2.id) return 1; else if(o1.id < o2.id) return -1; } } } return 0; } }); for(book b:list){ System.out.println(b.id); } } }

 

最新回复(0)