Как сгруппировать час с соответствующими минутами в Android?
Я делаю заявку на поезд. В приложении я сохраняю время поезда. Из моей базы данных я могу получить список раз в виде массива строк, как это
train_schedule_time------>[8.2, 13.55, 0.45]
Теперь я хочу разделить мой массив по часам с соответствующими минутами, как это...
Я использую StringTokenizer и разделить на массив часов и минут. Но я не могу сгруппировать свой час с несколькими минутами, и я должен показать в виде списка. Как я могу это сделать? Кто-нибудь может мне помочь? Заранее спасибо
2 ответа
Вы можете разделить свою строку. Например:
String train_schedule_tim = "8.2, 13.55, 0.45";
String[] hours = train_schedule_tim.split(", ");
String hour1 = hours[0].split(".")[0];
String mins1 = hours[0].split(".")[1];
String hour2 = hours[1].split(".")[0];
String mins2 = hours[1].split(".")[1];
Если вы хотите сохранить один час на несколько минут, вы можете сделать что-то вроде этого (использование Integer или String - то, что вы предпочитаете):
Map<Integer, List<Integer>> hours = new HashMap<Integer, List<Integer>>();
List<Integer> minutes = new ArrayList<Integer>();
minutes.add(15);
minutes.add(30);
minutes.add(45);
hours.put(8, minutes);
Затем вы можете сделать:
for (Integer h : hours.keySet()) {
List<Integer> mins = hours.get(h);
}
Например, вы можете использовать StringTokenizer
класс (от java.util
):
StringTokenizer tokens = new StringTokenizer(CurrentString, ":");
String first = tokens.nextToken();// this will contain "hours"
String second = tokens.nextToken();// this will contain "Minutes"
// in the case above I assumed the string has always that syntax (12:30)
// but you may want to check if there are tokens or not using the hasMoreTokens method