У меня есть проблемы с поиском элементов, вот мой код:Найти элемент в 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());
Это часть у меня есть проблемы с, я не знаю, как искать ан вернуть объект с EndTime 2015-03-10. Кстати это одна строка данных CVS:
UnitId;BeginTime;EndTime;Type;Min;Max;Sum
14100072; 2015-03-10 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());
}
}
Я попытался это, но и не получилось:
int index = Collections.binarySearch(col, findThis.toString(), null);
System.out.println("Here is 'endTime= 2015-03-10' :");
System.out.println(index);
ли 'getEndTime' также дают назад строку? – npinti
Что делает x.getEndTime() return? Он возвращается, только дата или вместе со временем вроде «2015-03-10 7:13:20»? Если он возвращается вместе со временем, тогда условие 'if (x.getEndTime(). Equals (findThis)) {' не пройдет. – Parasu
Не могли бы вы показать код для 'EndTimeComparator'? – Parasu