【问题标题】:Java collections not sorting complete stringJava 集合未对完整字符串进行排序
【发布时间】: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


【解决方案1】:

您在这里对文本进行排序,java 排序是有意义的,因为不知道您使用的是日期而不是文本。

如果您需要将威胁数据排序为日期,则需要将 ArrayList 转换为 ArrayList。

您可以通过这种方式转换日期中的每个字符串。

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

<date> = DATE_FORMAT.parse(<string value>);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    相关资源
    最近更新 更多