2つの異なるリストオブジェクトを別のリストにマージしたいので、ソートする必要があります。 私は両方のクラスは、long値iのタイムスタンプに基づいてALLOBJで最終的なリストをソートしたい2つの異なるリストオブジェクトを1つのリストにマージしてソートする方法
List<Employee> empList=new ArrayList<>();
List<Staff> staffList=new ArrayList<>();
Employee emp1=new Employee(3, "EPPI CF", 1507542925000l);
Employee emp2=new Employee(2, "EPPI CF2", 1507542924000l);
Employee emp3=new Employee(1, "EPPI CF3", 1507543156000l);
empList.add(emp1);
empList.add(emp2);
empList.add(emp3);
Collections.sort(empList);
Staff staff1=new Staff(1, "Parnamya", 1507724760000l);
Staff staff2=new Staff(2, "Sreenu", 1507623378000l);
Staff staff3=new Staff(3, "Joseph", 1507621774000l);
Staff staff4=new Staff(4, "Dolores", 1507547700000l);
Staff staff5=new Staff(5, "Molly", 1507541100000l);
staffList.add(staff1);
staffList.add(staff2);
staffList.add(staff3);
staffList.add(staff4);
staffList.add(staff5);
Collections.sort(staffList);
List<Object> allObj=new ArrayList<>();
allObj.addAll(empList);
allObj.addAll(staffList);
(長くしているタイムスタンプに基づいて匹敵するとソートを実装するクラスの従業員とクラススタッフ
下のようなクラスを持っています値)両方のオブジェクトの共通プロパティはタイムスタンプです。
どうすればいいですか?
予想される出力:
[Staff [id=1, staffName=Parnamya, timestamp=1507724760000],
Staff [id=2, staffName=Sreenu, timestamp=1507623378000],
Staff [id=3, staffName=Joseph, timestamp=1507621774000],
Staff [id=4, staffName=Dolores,timestamp=1507547700000],
[
Employee [id=1, name=EPPI CF3, timstamp=1507543156000],
Employee [id=3, name=EPPI CF, timstamp=1507542925000],
Employee [id=2, name=EPPI CF2, timstamp=1507542924000],
Staff [id=5, staffName=Molly, timestamp=1507541100000]
]
そうでなければ、一方のタイプと他方のタイプを比較できるコンパレータを作成することは難しいでしょう。 – Bobulous
こんにちは。私はあなたの質問を得ていない、両方のクラスは、Comparableインターフェイスを実装しています。 – user3355101
@ user3355101はい、「従業員」と「スタッフ」を比較できますか? –