Android 比较2个arraylist时获得相同的值

Android 比较2个arraylist时获得相同的值,android,arraylist,hashmap,compare,Android,Arraylist,Hashmap,Compare,我可以获取json响应,在arraylist中添加了响应 当我尝试比较2 arraylist时,arraylist 2的值没有改变 我所做的: json解析: for (int i = 0; i < array.length(); i++) { JSONObject obj = array.getJSONObject(i); id = obj.getString("alert_id");

我可以获取json响应,在arraylist中添加了响应

  • 当我尝试比较2 arraylist时,arraylist 2的值没有改变

  • 我所做的:

  • json解析:

    for (int i = 0; i < array.length(); i++) {
                        JSONObject obj = array.getJSONObject(i);
                        id = obj.getString("alert_id");
    
    
                        map.put("alert_id", id);
    
                        Log.d("map", map.toString());
                        arraylist1.add(map);
    
                           Log.e("asdasd", arraylist1.toString());
                    }
    
    for (int i = 0; i < arraylist.size(); i++) {
                    for (int j = 0; j < arraylist1.size(); j++) {
                        if (!(arraylist.get(i).get("id")).equals((arraylist1.get(j).get("id")))) {
                            //Checking whether the last value in the list..
                            if (j == (arraylist1.size() - 1)) {
                                unCommonList.add(arraylist.get(i).get("alert_id"));
    
    
                            } else {
    
                            }
                        }
                    }
                }
    
    92 79
    91 79
    86 79
    85 79
    84 79
    81 79
    80 79
    
    --每次arraylist2保持不变时,arraylist1都会发生变化,但arraylist2的值不是

    --这是我的ArrayList 2:

    [{abcd=100, id=79, createdate=2016-03-14 03:59:43, defge=2012310, 123123xyzw=alpha}, {abcd=11230, id=79, createdate=2016-03-14 03:59:43, defge=201231230, xyzw=alpasdha}, {abcd=10452430, id=79, createdate=2016-03-14 03:59:43, defge=12346, xyzw=alasdpha}, {abcd=1za00, id=79, createdate=2016-03-14 03:59:43, defge=212312300, xyzw=alpdsaha}, {abcd=112312300, id=79, createdate=2016-03-14 03:59:43, defge=21231200, xyzw=alpsqwha}, {abcd=123123, id=79, createdate=2016-03-14 03:59:43, defge=201231230, xyzw=alpqwreha}, {abcd=112312300, id=79, createdate=2016-03-14 03:59:43, defge=212312300, xyzw=alpyjha}, {abcd=101231230, id=79, createdate=2016-03-14 03:59:43, defge=200, xyzw=alpha}]
    
    for(int i=0;i
    for(int i=0;i
    好的,所以要获取不匹配元素,您可以尝试以下代码

    ArrayList<Integer> results = new ArrayList<>();
    
    
    for (Person person2 : arrayList2) {
    
        boolean found = false;
        for (Person person1 : arrayList1) {
        if (person2.id == person1.id) {
            found = true;
        }
    }
    if (!found) {
        results.add(person2.id);
    }
    }
    
    ArrayList结果=新建ArrayList();
    for(Person person2:arrayList2){
    布尔值=false;
    for(Person person1:arrayList1){
    if(person2.id==person1.id){
    发现=真;
    }
    }
    如果(!找到){
    结果。添加(person2.id);
    }
    }
    
    好的,所以要获取不匹配元素,您可以尝试以下代码

    ArrayList<Integer> results = new ArrayList<>();
    
    
    for (Person person2 : arrayList2) {
    
        boolean found = false;
        for (Person person1 : arrayList1) {
        if (person2.id == person1.id) {
            found = true;
        }
    }
    if (!found) {
        results.add(person2.id);
    }
    }
    
    ArrayList结果=新建ArrayList();
    for(Person person2:arrayList2){
    布尔值=false;
    for(Person person1:arrayList1){
    if(person2.id==person1.id){
    发现=真;
    }
    }
    如果(!找到){
    结果。添加(person2.id);
    }
    }
    

    unmonlist.add(arraylist.get(j.get(“警报id”)));你忘了你想要什么?asc/desc?@Ajay Pandya,你能演示一下吗?plz@NiravRanpara,第二个arraylist值没有更改。首先,我想知道您想要实现什么?unmonlist.add(arraylist.get(j.get(“alert_id”));你忘了你想要什么?asc/desc?@Ajay Pandya,你能演示一下吗?plz@NiravRanpara,第二个arraylist值没有更改。首先,我想知道您想要实现什么?如果我的arraylist还包含其他元素,该怎么办?相同的方法find=true,仅当require elements found时。您在我的代码中尝试过吗?因为查找布尔值对于添加元素非常重要。你看过我的arraylist日志了吗,每个id都是相同的。那么这个person2.id呢?我应该在这里提到什么?如果我的arraylist也包含其他元素怎么办?相同的方法found=true,仅当require-elements-found时。您是否在我的代码中尝试过它?因为查找布尔值对于添加元素非常重要。你看过我的arraylist日志了吗,每个id都是相同的。那么这个person2.id呢?我应该在这里提到什么?