Java коллекции не сортируют полную строку - PullRequest
0 голосов
/ 10 января 2019

Я работаю над одной задачей, где я должен проверить данные столбца в порядке Asc и Dec и проверить его. Я использую коллекции Java для этого.

Какой именно мой подход, сначала я сортирую столбец в порядке Asc и выбираю все данные столбца и сохраняю их в списке Array. Это уже в порядке Asc. После этого я создаю другой список временных массивов и сортирую его с помощью коллекций Java. После этого я сравниваю оба списка и возвращаю их верно.

Но java collection возвращает мне другой список после сортировки, и он не равен, когда я подаю рабочую дату.

//myList contains all the web elements
List<WebElement> myList=driver.findElements(By.xpath("//td[2]//span[@class='ui-cell-data']"));
List<String> all_elements_text=new ArrayList<>();
for(int i=0; i<myList.size(); i++) {
     //loading text of each element in to array all_elements_text
     all_elements_text.add(myList.get(i).getText());
}
//Just printing the array to verify the data manualy 
for(int y=0; y<all_elements_text.size(); y++) {
     System.out.println(all_elements_text.get(y));
}
//Sorting part
List tmp = new ArrayList(all_elements_text);
Collections.sort(tmp);
//Just printing the array to verify the data manualy 
for(int t=0; t<tmp.size(); t++) {
    System.out.println(tmp.get(t));
}
boolean sorted = tmp.equals(all_elements_text);
System.out.println("the boolean turns out to be: " + sorted);

вот результат сортировки перед коллекцией

03 Oct 2018, 12:42
12 Nov 2018, 15:03
12 Nov 2018, 19:09
15 Nov 2018, 12:49
21 Nov 2018, 15:12
28 Nov 2018, 14:47
05 Dec 2018, 16:20
05 Dec 2018, 16:22
05 Dec 2018, 16:23
05 Dec 2018, 16:24

Вот после коллекции

03 Oct 2018, 12:42
05 Dec 2018, 16:20
05 Dec 2018, 16:22
05 Dec 2018, 16:23
05 Dec 2018, 16:24
12 Nov 2018, 15:03
12 Nov 2018, 19:09
15 Nov 2018, 12:49
21 Nov 2018, 15:12
28 Nov 2018, 14:47

Пожалуйста, предложите что-нибудь или какое-нибудь решение, как это будет работать на дату, и даже все форматы данных в основном

1 Ответ

0 голосов
/ 10 января 2019

Вы сортируете текст здесь, сортировка Java имеет смысл, потому что не знает, что вы используете даты, а не текст.

Если вам нужно отсортировать угрожающие данные по датам, вам нужно преобразовать ArrayList в ArrayList.

Таким способом можно конвертировать каждую строку в дате.

SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("d MMM yyyy, HH:mm");

<date> = DATE_FORMAT.parse(<string value>);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...