私は、クラスプロジェクトのためにjavaで予定リストを作成しています。 jListでは、日付とその日に何を行う必要があるかを表す文字列を表示します。また、これらのイベントを日付順に並べ替えることができるようになりたいので、早く予定されているタスクが最初に表示されます。バブルソートを使用して日付のリストをソートする方法はわかっていますが、各アイテムに日付と文字列が含まれているため、これを自分のリストに適用する方法はわかりません。これはこれまでのコードです。誰かがどのように日付を並べ替えることができ、その日付に紐を付けることができるか知っていますか?ありがとう。複数の要素を持つ配列を並べ替える
public class ToDoListManager {
final int maxitems = 20;
int items = 0;
String[] toDoList = new String[20];
Date[] Dates = new Date[20];
String addItem(String toDo, Date date) {
if (items == maxitems) {
return ("No more Space");
} else if (toDo.equalsIgnoreCase("") || (toDo == null) || (date == null)) {
return ("All fields required");
} else if (items < maxitems) {
Dates[items] = date;
SimpleDateFormat dt1 = new SimpleDateFormat("yyyy-MM-dd");
toDoList[items] = "On " + dt1.format(date) + " " + toDo;
items = items + 1;
return (toDo + " Was Added to the List");
}
return null;
}
void Order(Date[] dates) {
Date temp;
boolean fixed = false;
while (fixed == false) {
fixed = true;
for (int i = 0; i < dates.length - 1; i++) {
if (dates[i].before(dates[i + 1])) {
temp = dates[i + 1];
dates[i + 1] = dates[i];
dates[i] = temp;
fixed = false;
}
}
}
System.out.println(dates);
}
String[] getItems() {
String[] displayList = new String[items];
for (int i = 0; i < items; i++) {
displayList[i] = toDoList[i];
}
return displayList;
}
}
タスクを表すオブジェクトを作成し、日付と文字列の両方を含むことを検討してください。 – njzk2
[パラレルコレクション](https://codeblog.jonskeet.uk/2014/06/03/anti-pattern-parallel-collections/)は使用しないでください。 'ToDo'クラスを定義します。 – Michael