java - 在插入 ArrayList 之前检查 ArrayList 内的对象是否具有相同的 ID 值

标签 java google-maps android-studio arraylist

嘿伙计们,我有这个 ArrayList

public static List<JSONObject> markerList = new ArrayList<JSONObject>();

我用for(循环)将一个JSONObject放入其中 使用来自服务器的 ID 和一些信息 和一个标记 ID(Google map ..)

如何检查数组中的这个对象是否具有特定的 id,以便我不再插入它 因为这个对象将具有不同的值,例如纬度、经度和标记 id,但与 ArrayList 内的所有重复对象具有相同的驱动程序 id,这真的让我很困扰,我该如何检查它我试图在任何地方搜索任何帮助人员 <3

public static List<JSONObject> markerList = new ArrayList<JSONObject>();
public static void CreateMarker(JSONArray arrayList){
    try {
        Marker marker;
        for (int counter = 0; counter < arrayList.length(); counter++) {
            JSONObject json=arrayList.getJSONObject(counter);
            int id = json.getInt("id");
            int is_active = json.getInt("is_active");
            double latitude = json.getDouble("latitude");
            double longitude = json.getDouble("longitude");

                MarkerOptions markerOptions = new MarkerOptions()
                        .position(new LatLng(latitude, longitude))
                        .title(String.valueOf(id))
                        .flat(true)
                        .anchor(0.5f, 1.0f)
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.car_marker_dark));
                marker = mGoogleMap.addMarker(markerOptions);
                Log.e("MarkerList", "Marker id '" + marker.getId() + "' added to list.");
                Log.e("MarkerList", String.valueOf(markerList));
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("id",id);
                jsonObject.put("is_active",is_active);
                jsonObject.put("latitude",latitude);
                jsonObject.put("longitude",longitude);
                jsonObject.put("Marker",marker);
                markerList.add(jsonObject);

        }
    }catch (Exception e){
        e.printStackTrace();
    }
}

最佳答案

解决您的问题的一个可能的解决方案是使用 HashMap 而不是 ArrayList,其中键是 id,值是 JSONObject。这样,您可以在插入之前检查 HashMap 是否已包含您的 key 。

关于java - 在插入 ArrayList 之前检查 ArrayList 内的对象是否具有相同的 ID 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59587208/

相关文章:

javascript - 谷歌地图 - 填充剩余高度

android - 我可以更改 ArCore 虚拟相机的姿势或在一个场景中有多个虚拟相机吗?

java - 致命异常 : java. lang.NoSuchMethodError:没有虚拟方法 callEngineReleaseConnection(Lcom/squareup/okhttp/Call;)

android - 如何使用 Proguard 删除 System.out.print 语句

javascript - 谷歌地图地理编码器的标记问题(当前和先前的位置标记同时出现)

google-maps - 存储的 map ,例如 Google map 或 OpenLayers

java - 马文 : avoid deploying project package-implied artifact during standard build lifecycle

java - 从套接字输入流读取

java - SWT:表丢失选择

java - Android studio - fragment 错误中的按钮点击