mam problem ze znalezieniem elementów, tutaj jest mój kod:Znajdź element ArrayList Java
public static void main(String[] args) {
BufferedReader br = getFileReader("reader.csv");
ArrayList<Monitoring> col = getCollection(br);
//sort the collection on 'beginTime'
for (Monitoring x : col)
System.out.println(x.toString());
BeginTimeComparator beginTime = new BeginTimeComparator();
Collections.sort(col,beginTime);
System.out.println("Begin time:");
for (Monitoring x : col)
System.out.println(x.toString());
Jest to część mam problemy z, nie wiem jak szukać pl odzyskać obiekt z EndTime 2015-03-10. okazji jest jedna linia danych CVS:
UnitId;BeginTime;EndTime;Type;Min;Max;Sum
14100072; 10.03.2015 07: 12: 20; 2015-03-10 7: 13: 20; GPS/GpsAccuracyGyroBias, 0, 0, 0
//find the amount of elements that were sent on 'endTime' = 2015-03-10 (just the date)
EndTimeComparator endTime = new EndTimeComparator();
String findThis = "2015-03-10";
Collections.sort(col, endTime);
for(Monitoring x : col){
if(x.getEndTime().equals(findThis)){
System.out.println("Here is 'endTime= 2015-03-10' :");
System.out.println(x.toString());
}
}
próbowałem tego, ale oba nie działają:
int index = Collections.binarySearch(col, findThis.toString(), null);
System.out.println("Here is 'endTime= 2015-03-10' :");
System.out.println(index);
Czy 'getEndTime' również dają z powrotem ciąg? – npinti
co zwróci x.getEndTime()? Czy powraca, tylko data lub wraz z czasem takim jak "2015-03-10 7:13:20"? Jeśli powróci wraz z czasem, wówczas warunek 'if (x.getEndTime(). Equals (findThis)) {' nie przejdzie. – Parasu
Czy możesz pokazać kod 'EndTimeComparator'? – Parasu