[[{“lng”:11111,“lat”:222222},{“lng”:11111,“lat”:222222},{“lng”:11111,“lat”:222222}]],提取出其中的lng与lat并进行分组
时间: 2024-09-23 19:13:38 浏览: 31
给定的是一个包含经纬度坐标对的数组,每个坐标都是一个对象,包含两个属性:"lng"(经度)和"lat"(纬度)。如果你想从这个数组中提取所有的经纬度,并按经度进行分组,可以使用Java的Map结构来实现,例如使用`HashMap`或`LinkedHashMap`,经度作为key,所有该经度的坐标点作为value。下面是一个简单的示例:
```java
import java.util.*;
class Coordinate {
double lng;
double lat;
// 构造函数、getter和setter省略...
}
public class Main {
public static void main(String[] args) {
List<Coordinate> coordinates = Arrays.asList(
new Coordinate(11111, 222222),
new Coordinate(11111, 222222),
new Coordinate(11111, 222222)
);
Map<Double, List<Coordinate>> groupedCoordinates = new HashMap<>();
for (Coordinate coord : coordinates) {
Double key = coord.lng; // 提取经度作为key
if (!groupedCoordinates.containsKey(key)) {
groupedCoordinates.put(key, new ArrayList<>());
}
groupedCoordinates.get(key).add(coord); // 添加到对应经度的列表中
}
// 现在groupedCoordinates就是一个按照经度分组的map
for (Map.Entry<Double, List<Coordinate>> entry : groupedCoordinates.entrySet()) {
System.out.println("经度: " + entry.getKey() + ", 纬度集合: " + entry.getValue());
}
}
}
```
这个程序会输出每个唯一的经度及其对应的坐标点列表。
阅读全文