Jixi спросил: «Или я должен использовать что-то еще для хранения данных?»
Да, вы должны.Я рекомендую вам создать новый класс, который будет хранить все три вещи:
public class TimedEvent implements Comparable<TimedEvent> {
String title;
int time1, time2;
public TimedEvent(String name, int t1, int t2) {
title = name;
time1= t1;
time2=t2;
}
public int compareTo(TimedEvent otherEvent) {
return title.compareTo(otherEvent.title);
}
}
Теперь Arrays.sort будет работать для вас:
TimedEvent[] eventArray = new TimedEvent[5000];
// lots of events get stored.
eventArray[0] = new TimeEvent("Start", 125,134);
eventArray[1] = new TimeEvent("FireClose", 128,139);
eventArray[2] = new TimeEvent("Important Action", 1328,1339);
Arrays.sort(eventArray)
Обратите внимание, что любой элемент массива, который выне инициализировать будет null
, и это будет выдавать исключение при попытке сортировки.Поэтому убедитесь, что длина массива именно то, что вам нужно.Если вы не знаете, сколько событий вы будете хранить заранее, используйте вместо этого ArrayList:
ArrayList<TimedEvent> eventList = new ArrayList<>(); //java7 syntax. use
// new ArrayList<TimedEvent>(); if using Java 6.
// lots of events get stored.
eventList.add(new TimeEvent("Start", 125,134));
eventList.add(new TimeEvent("FireClose", 128,139));
eventList.add(new TimeEvent("Important Action", 1328,1339));
Collections.sort(eventList);