Java 特定索引的Hashmap替换的Arraylist

Java 特定索引的Hashmap替换的Arraylist,java,android,arraylist,replace,hashmap,Java,Android,Arraylist,Replace,Hashmap,您好,我正在尝试替换包含hashmap的arraylist的特定索引。以下是我正在尝试获取的代码 ArrayList<HashMap<String, String>> vehiclehistory = new ArrayList<HashMap<String, String>>(); HashMap<String, String> map = new HashMap<String, String>(); 但是它就像 m

您好,我正在尝试替换包含hashmap的arraylist的特定索引。以下是我正在尝试获取的代码

 ArrayList<HashMap<String, String>> vehiclehistory = new ArrayList<HashMap<String, String>>();
 HashMap<String, String> map = new HashMap<String, String>();
但是它就像

map adding::{exceed_speed_limit1=0, exceed_speed_limit0=0, address0=965, ECR Link Road, VGP 
Prabhu Nagar, Medavakkam, Chennai, Tamil Nadu 600100, India, address1=965, ECR Link Road, VGP  
Prabhu Nagar, Medavakkam, Chennai, Tamil Nadu 600100, India, bus_tracking_timestamp1=2014-12-08 
10:36:32, bus_tracking_timestamp0=2014-12-08 10:36:01, latitude0=12.906466666667, 
latitude1=12.906466666667, vehicle_status1=1, speed1=0, longitude0=80.204440000000, 
longitude1=80.204440000000, speed0=0, vehicle_status0=1}
地图会自动添加,我的arraylist看起来像

 12-11 10:16:15.291: I/System.out(28913): history list val::[{exceed_speed_limit1=0, 
 exceed_speed_limit0=0, address0=965, ECR Link Road, VGP Prabhu Nagar, Medavakkam, Chennai, Tamil   
 Nadu 600100, India, address1=965, ECR Link Road, VGP Prabhu Nagar, Medavakkam, Chennai, Tamil 
 00100, India, bus_tracking_timestamp1=2014-12-08 10:36:32, bus_tracking_timestamp0=2014-12-08 
 10:36:01, latitude0=12.906466666667, latitude1=12.906466666667, vehicle_status1=1, speed1=0, 
 longitude0=80.204440000000, longitude1=80.204440000000, speed0=0, vehicle_status0=1},
 {exceed_speed_limit1=0, exceed_speed_limit0=0, address0=965, ECR Link Road, VGP Prabhu Nagar,
 Medavakkam, Chennai, Tamil Nadu 600100, India, address1=965, ECR Link Road, VGP Prabhu Nagar,
 Medavakkam, Chennai, Tamil Nadu 600100, India, bus_tracking_timestamp1=2014-12-08 10:36:32, 
 bus_tracking_timestamp0=2014-12-08 10:36:01, latitude0=12.906466666667,     
 latitude1=12.906466666667, vehicle_status1=1, speed1=0, longitude0=80.204440000000,  
 longitude1=80.204440000000, speed0=0,vehicle_status0=1}]

有人能告诉我们如何将hashmap值专门添加到arraylist中,并用特定的一些映射值替换arraylist的特定索引吗?

在添加数组中的所有数据列表后,如果要更改特定的索引方式,请尝试此操作

ArrayList<HashMap<String, String>> vehiclehistory = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map = vehiclehistory.get(index);
map.put("key_name", "string");
ArrayList vehistory=new ArrayList();
HashMap=newHashMap();
map=车辆历史记录.get(索引);
map.put(“key_name”、“string”);

您每次都将相同的
映射添加到
阵列列表中。您需要创建一个新的
HashMap
实例,并在每次迭代中填充它,如下所示:

HashMap<String, String> map = null;

for (int i = 0; i < user.length(); i++) {
    map = new HashMap<String, String>();

    map.put(TAG_Latitude + i, latitude);
    map.put(TAG_Longitude + i, longitude);
    map.put(TAG_Speed + i, speed);
    map.put(TAG_Vehicle_Status + i, sleepstring);

    vehiclehistory.add(i, map);
}
HashMap-map=null;
for(int i=0;i
您只创建了一次hashmap,并将该hashmap添加到导致问题的ararylist中,请执行以下操作:-

 ArrayList<HashMap<String, String>> vehiclehistory = new ArrayList<HashMap<String, String>>();
 HashMap<String, String> map =null;

for (int i = 0; i < user.length(); i++) {
map = new HashMap<String, String>();

map.put(TAG_Latitude + i, latitude);
map.put(TAG_Longitude + i, longitude);
map.put(TAG_Speed + i, speed);
map.put(TAG_Vehicle_Status + i, sleepstring);
vehiclehistory.add(i, map);
}
ArrayList vehistory=new ArrayList();
HashMap=null;
for(int i=0;i
试试这个…

声明为全局变量

Map<String, String> myLatLongHashMap = new HashMap<String, String>();
int k = 0; 
检索Hashmap值

    myLatLongHashMap.put("lat" + k, latvalue);
    myLatLongHashMap.put("long" + k, longvalue);
    myLatLongHashMap.put("TAG_Speed" + k, TAG_Speed_value+"");
    k++;
  if (myLatLongHashMap.size() > 0)
  {
    for (int i = 0; i < myLatLongHashMap.size() / 3; i++)
    {
         // retrieve your lat, long value..
      Double lat   =   Double.valueOf(myLatLongHashMap.get("lat" + i)); 
      Double longg  =   Double.valueOf(myLatLongHashMap.get("long" + i));
      String speed =   myLatLongHashMap.get("TAG_Speed" + i);
    }
  }
if(myLatLongHashMap.size()>0)
{
对于(int i=0;i
HashMap map=newhashmap();我认为这将是一种更好的方法,可以将所有对象放入哈希映射,并使用任何键来检索它们。
    myLatLongHashMap.put("lat" + k, latvalue);
    myLatLongHashMap.put("long" + k, longvalue);
    myLatLongHashMap.put("TAG_Speed" + k, TAG_Speed_value+"");
    k++;
  if (myLatLongHashMap.size() > 0)
  {
    for (int i = 0; i < myLatLongHashMap.size() / 3; i++)
    {
         // retrieve your lat, long value..
      Double lat   =   Double.valueOf(myLatLongHashMap.get("lat" + i)); 
      Double longg  =   Double.valueOf(myLatLongHashMap.get("long" + i));
      String speed =   myLatLongHashMap.get("TAG_Speed" + i);
    }
  }