检测并删除ArrayList中的重复项



我有一个有两个位置的数组,每个位置都包含一个"ids_alunos"列表,第一个位置有ids_alonos:"1,2,3",第二个位置有"4,5",但当我在数组中添加id时,会发生这样的情况,第一个位置得到"1,2,3"值,而第二个:"1,2,3,4,5"。为什么会发生这种情况?

public ArrayList<CadastraEscolas> getFilhos(String mToken) throws Exception {
        String[] resposta = new WebService().get("filhos", mToken);

        if (resposta[0].equals("200")) {
            JSONObject mJSONObject = new JSONObject(resposta[1]);
            JSONArray dados = mJSONObject.getJSONArray("data");

            mArrayList = new ArrayList<CadastraEscolas>();
            mGPSList = new ArrayList<GPSEscolas>();

            for (int i = 0; i < dados.length(); i++) {

                JSONObject item = dados.getJSONObject(i).getJSONObject("escolas");
                JSONArray escolas = item.getJSONArray("data");
                for (int j = 0; j < escolas.length(); j++) {
                    JSONObject jItens = escolas.getJSONObject(j);
                    mCadastraEscolas = new CadastraEscolas();
                    mGPSEscolas = new GPSEscolas();
                    mCadastraEscolas.setId_escola(jItens.optInt("id_escola"));

                    mGPSEscolas.setId_escola(jItens.optInt("id_escola"));

                    JSONObject alunos = jItens.optJSONObject("alunos");
                    JSONArray data = alunos.getJSONArray("data");
                    if (data != null) {
                        ArrayList<Filhos> arrayalunos = new ArrayList<Filhos>();
                        for (int a = 0; a < data.length(); a++) {
                            mFilhos = new Filhos();
                            JSONObject clientes = data.getJSONObject(a);
                            mFilhos.setId_aluno(clientes.optInt("id_aluno"));

                            arrayalunos.add(mFilhos);
                            idsAlunos  += ";" + arrayalunos.get(a).getId_aluno().toString();
                            mGPSEscolas.setIds_alunos(idsAlunos);
                        }

                        mCadastraEscolas.setalunos(arrayalunos);
                    }

                    mArrayList.add(mCadastraEscolas);
                    mGPSList.add(mGPSEscolas);

                }
            }
            return mArrayList;
        } else {
            throw new Exception("[" + resposta[0] + "] ERRO: " + resposta[1]);
        }
    }

您可能希望在初始化mGPSEscolas的同时初始化idsAlunos,因此您需要执行以下操作:

mGPSEscolas = new GPSEscolas();

你也可以做:

idsAlunos = "";

否则CCD_ 3被附加到每一个新的CCD_。

相关内容

  • 没有找到相关文章

最新更新