java当前时间查询_java – 在日期列表中查找离目标最近的日期的最佳方法?
时间: 2024-02-24 11:57:07 浏览: 30
可以使用 Java 8 的 `LocalDate` 和 `Duration` 类来实现。
假设你有一个日期列表 `List<LocalDate> dates` 和目标日期 `LocalDate targetDate`。你可以使用以下代码找到最接近目标日期的日期:
```java
LocalDate closestDate = dates.stream()
.min(Comparator.comparing(date -> Duration.between(date.atStartOfDay(), targetDate.atStartOfDay()).abs()))
.orElse(null);
```
这段代码使用流式 API,首先将日期列表转换为流,然后使用 `min` 方法和一个比较器来找到与目标日期最接近的日期。比较器使用 `Duration.between` 方法计算两个日期之间的时间间隔,并使用 `abs` 方法获取其绝对值,以确保比较器返回非负数。最后,使用 `orElse` 方法将找到的日期转换为可空类型,以防找不到任何日期。
相关问题
根据省份查询城市java代码_java根据城市查找省份
以下是根据省份查询城市的Java代码示例:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ProvinceCityMap {
private static Map<String, List<String>> provinceCityMap = new HashMap<String, List<String>>();
static {
List<String> cityList = new ArrayList<String>();
cityList.add("北京市");
cityList.add("天津市");
cityList.add("石家庄市");
//省份和城市的映射关系
provinceCityMap.put("河北省", cityList);
cityList = new ArrayList<String>();
cityList.add("太原市");
cityList.add("大同市");
cityList.add("阳泉市");
//省份和城市的映射关系
provinceCityMap.put("山西省", cityList);
//省份和城市的映射关系可以根据实际情况进行添加
}
/**
* 根据省份查询城市
* @param province 省份
* @return 城市列表
*/
public static List<String> getCitiesByProvince(String province) {
return provinceCityMap.get(province);
}
}
```
使用示例:
```java
public class Test {
public static void main(String[] args) {
String province = "河北省";
List<String> cityList = ProvinceCityMap.getCitiesByProvince(province);
System.out.println(province + "的城市列表:");
for (String city : cityList) {
System.out.println(city);
}
}
}
```
输出结果:
```
河北省的城市列表:
北京市
天津市
石家庄市
```
java获得数组交叉点_java – 如何从ElasticSearch中的形状获取交叉点
您可以使用Elasticsearch的GeoShape查询来获得形状之间的交叉点。以下是一个示例查询:
```
POST /your-index/_search
{
"query": {
"bool": {
"filter": {
"geo_shape": {
"location": {
"shape": {
"type": "polygon",
"coordinates": [
[
[100.0, 0.0],
[101.0, 0.0],
[101.0, 1.0],
[100.0, 1.0],
[100.0, 0.0]
]
]
},
"relation": "intersects"
}
}
}
}
}
}
```
在上面的查询中,“location”是存储形状的字段,您需要将其替换为您的字段名称。查询使用一个多边形形状,您可以根据需要替换它。查询使用“intersects”关系来查找形状之间的交叉点。您可以根据需要更改关系。查询将返回与形状相交的所有文档。
相关推荐
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)