【发布时间】:2019-01-10 09:10:57
【问题描述】:
我正在处理一项任务,我必须以 Asc 和 Dec 顺序检查列数据并进行验证。我为此使用了java集合。
我的方法到底是什么,我首先按 Asc 顺序对列进行排序,然后选择所有列数据并存储在数组列表中。它已经按升序排列。在此之后,我制作了另一个临时数组列表并在 java 集合的帮助下对其进行排序。在此之后,我比较了两个列表,它肯定会返回 true。
但是 java 集合在排序后返回不同的列表,并且当我提交工作日期时它不相等。
//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
请提出一些建议或任何解决方案,它将如何在日期甚至所有数据格式上工作
【问题讨论】:
-
我的第一个建议是将它们转换为实际的日期表示,例如
LocalDateTime(使用LocalDateTime.from)或Date(使用SimpleDateFormat)对象。
标签: java selenium collections