程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Hashmap 替换特定索引的 Arraylist

发布于2021-10-16 05:00     阅读(629)     评论(0)     点赞(14)     收藏(1)


嗨,我正在尝试替换包含 hashmap 的 arraylist 的特定索引。这是我试图获取它的代码,

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

将值添加到地图和数组列表中,

 for (int i = 0; i < user.length(); i++) {
 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);
 }

我希望在特定索引处添加单个地图,例如,

map adding::{address0=965, ECR Link Road, VGP Prabhu Nagar, Medavakkam, Chennai, Tamil Nadu 600100, India, latitude0=12.906466666667, longitude0=80.204440000000, speed0=0, bus_tracking_timestamp0=2014-12-08 10:36:01, vehicle_status0=1, exceed_speed_limit0=0}

map adding::{address1=965, ECR Link Road, VGP Prabhu Nagar, Medavakkam, Chennai, Tamil Nadu 600100, India, latitude1=12.906466666667, longitude1=80.204440000000, speed1=0, bus_tracking_timestamp1=2014-12-08 10:36:01, vehicle_status1=1, exceed_speed_limit1=0}

但它补充说,

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}

地图正在附加自己,我的数组列表看起来像,

 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 的特定索引?


解决方案


每次都添加相同map的内容ArrayList您需要创建一个新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);
}


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/303635/3dcb58e25ca492203db4/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)