首页 > 解决方案 > 我想创建一个动态索引不是从 0 开始的 ArrayList

问题描述

 public void jsonParse(){
    jsonResArray = new ArrayList< >();
    String url = "my-api-url";
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null, new 
        Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            try {
                JSONArray jsonArray = response.getJSONArray("data");
                if(jsonArray.length()!=0) {
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject jsonObject = jsonArray.getJSONObject(i);
                        int id =Integer.parseInt(jsonObject.getString("service_id"));
                        **jsonResArray.add(id, jsonObject.getString("service_name"));**
                        }}
            } catch (JSONException e) {
                e.printStackTrace();
                Toast.makeText(getBaseContext() , e.toString() , Toast.LENGTH_SHORT).show();
            }
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(getBaseContext(),error.getMessage(),Toast.LENGTH_SHORT).show();
        }
    });
    mQueue.add(request);
}

我想创建动态索引,因为我想将服务名称与其 id 保存在字符串数组中,但它给了我 bp 之外的索引提前谢谢

标签: javaandroidarraylistindexingdynamic

解决方案


使用 aMap<Integer, String>而不是ArrayList<String>.


推荐阅读