Anonymous
Как отсортировать самую раннюю отметку времени в списке в Java?
Сообщение
Anonymous » 23 ноя 2024, 01:16
Код: Выделить всё
package collectionCollections;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.concurrent.SynchronousQueue;
public class TestCollections {
public static void main(String[] args) {
String a = "9:50 PM,12:25 PM,3:55 PM,10:15 PM,1:15 PM";
ArrayList al2 = new ArrayList();
ArrayList al3 = new ArrayList();
String arg[] = a.split(",");
// System.out.println(arg);
// Collections.sort(list);
List < String > al = new ArrayList < String > ();
al = Arrays.asList(arg);
for (String s: al) {
System.out.println(s);
al2.add(s.substring(0, 5).replace(':', '.'));
}
System.out.println(al2);
Iterator li = al2.iterator();
while (li.hasNext()) {
String s = (String) li.next();
float no = Float.parseFloat(s);
al3.add(no);
}
Collections.sort(al3);
int add = 0;
float ff = 0;
ListIterator lit = al3.listIterator();
while (lit.hasNext()) {
float f = (Float) lit.next();
int intno = (int) f;
if (intno == 12) {
add = intno;
ff = f - add;
System.out.println(ff);
lit.remove();
}
}
al3.add(0, add + ff);
System.out.println(al3);
}
}
(`Я пытаюсь отсортировать приведенный ниже список массивов:
Код: Выделить всё
my Timestamps = [12:40 PM, 4:00 PM, 7:20 PM, 10:40 PM, 12:00 PM, 3:25 PM, 6:50 PM, 10:15 PM, 6:35 PM, 9:50 PM, 12:20 PM, 3:45 PM, 7:15 PM, 10:40 PM, 11:45 AM, 3:10 PM, 6:35 PM, 10:25 PM, 12:50 PM, 4:10 PM, 7:30 PM, 10:40 PM]
Ожидаемый результат — самое раннее 11:45 в нулевом индексе.
Я пробовал конвертировать выше список в целое число, и когда есть уникальное время (AM/PM) в определенный час (12:35), я смог отсортировать его, но когда в определенный час есть несколько отметок времени (12:35, 12:05) я не могу сортировать.
Подробнее здесь:
https://stackoverflow.com/questions/584 ... st-in-java
1732313804
Anonymous
[code]package collectionCollections; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.ListIterator; import java.util.concurrent.SynchronousQueue; public class TestCollections { public static void main(String[] args) { String a = "9:50 PM,12:25 PM,3:55 PM,10:15 PM,1:15 PM"; ArrayList al2 = new ArrayList(); ArrayList al3 = new ArrayList(); String arg[] = a.split(","); // System.out.println(arg); // Collections.sort(list); List < String > al = new ArrayList < String > (); al = Arrays.asList(arg); for (String s: al) { System.out.println(s); al2.add(s.substring(0, 5).replace(':', '.')); } System.out.println(al2); Iterator li = al2.iterator(); while (li.hasNext()) { String s = (String) li.next(); float no = Float.parseFloat(s); al3.add(no); } Collections.sort(al3); int add = 0; float ff = 0; ListIterator lit = al3.listIterator(); while (lit.hasNext()) { float f = (Float) lit.next(); int intno = (int) f; if (intno == 12) { add = intno; ff = f - add; System.out.println(ff); lit.remove(); } } al3.add(0, add + ff); System.out.println(al3); } } [/code] (`Я пытаюсь отсортировать приведенный ниже список массивов: [code]my Timestamps = [12:40 PM, 4:00 PM, 7:20 PM, 10:40 PM, 12:00 PM, 3:25 PM, 6:50 PM, 10:15 PM, 6:35 PM, 9:50 PM, 12:20 PM, 3:45 PM, 7:15 PM, 10:40 PM, 11:45 AM, 3:10 PM, 6:35 PM, 10:25 PM, 12:50 PM, 4:10 PM, 7:30 PM, 10:40 PM] [/code] Ожидаемый результат — самое раннее 11:45 в нулевом индексе. Я пробовал конвертировать выше список в целое число, и когда есть уникальное время (AM/PM) в определенный час (12:35), я смог отсортировать его, но когда в определенный час есть несколько отметок времени (12:35, 12:05) я не могу сортировать. Подробнее здесь: [url]https://stackoverflow.com/questions/58471284/how-to-sort-the-earliest-time-stamp-in-the-list-in-java[/url]