Car*_*H20 1 java collections jodatime
我有一个假日对象数组(由字符串名称和DateTime组成).我有一个for循环来查看用户的日期是否是假日.这是我的设置,因为这是我学过的唯一方法.
我一直在读,在大多数情况下,List比数组更好,但在阅读了列表后,我也开始学习其他的收集方法.是否有更好的东西可以看到日期是否与给定的假期列表相匹配?
如果可以使用其他方法,您将如何"搜索"它以查看它是否与给定日期匹配?
在列表中搜索是O(n):你必须迭代每个元素,直到找到匹配的元素.
如果列表按日期排序,则可以使用Collections.binarySearch(),这将使进程O(log(n))(因此,除非列表非常小,否则无关紧要).
您也可以使用TreeSet来保持假日排序,并允许在O(log(n))时间内进行搜索.
或者您可以使用HashSet,这将使搜索O(1)(常量时间),但不会保持其元素排序.
| 归档时间: |
|
| 查看次数: |
62 次 |
| 最近记录: |