arrays - 数组搜索和计数 - scala
问题描述
我正在尝试在包装数组中找到元素的 # 个。以下是场景。
数组不需要排序。
它与 for 循环一起工作,效率非常低。有更好的方法吗?
日期在包装数组中(未排序) - 用户将指定开始和结束日期,并且必须计算它们之间的元素数量。
import java.text.SimpleDateFormat
import java.util.Date
def convertStringToDate(s: String): Date = {
val DATE_FORMAT = "yyyy-MM-dd"
val dateFormat = new SimpleDateFormat(DATE_FORMAT)
dateFormat.parse(s)
}
val startDate = convertStringToDate("2016-02-01")
val endDate = convertStringToDate("2020-03-01")
val journeyDates = Array("2019-03-01", "2016-07-23", "2018-03-17", "2018-11-31", "2016-01-31").map(
x => convertStringToDate(x)
)
def filterDates(
datesArray: Array[java.util.Date],
startDate: java.util.Date,
endDate: java.util.Date
): Array[java.util.Date] = {
datesArray.filter(date => date.after(startDate) && date.before(endDate))
}
val filteredDates = filterDates(journeyDates,startDate,endDate)
该代码效率不高 - 并且正在寻求优化性能。
解决方案
推荐阅读
- asp.net-mvc - 移除的区域仍然作为区域路由
- swift - ZOHO CRM 未获得刷新令牌作为响应
- android - 为什么我的 ImageUri 没有显示在 setView 的 AlertDialogBox 中?
- c++ - std::string 添加到 char*
- sql - sql 中这种 case 表达式的一种更简洁的方法
- laravel - Laravel 5.5 和 DB::raw 无法执行查询
- c# - 是否有一个属性可以为每个函数添加正确的响应类型属性
- postgresql - 选择持续时间段的模式
- android - GPUMp4Composer 应用过滤器
- powerbi - 如何仅选择每个表格视觉对象中的一项