gpt4 book ai didi

java - 将长键和数组列表值添加到 hashmap

转载 作者:行者123 更新时间:2023-12-01 23:47:23 25 4
gpt4 key购买 nike

我以这种方式获取数据库数据

用户 ID、日期

1125,3-05-2013

1125,2013年4月5日

1125,5-05-2013

200,23-05-2013

200,24-05-2013

我需要将这些添加到 hashmap 作为 hashmap(userid,dates)..

即:hashmap(long,arraylist(日期字符串))并发送到前端。

我的意思是 hashmap 中的长值应该是唯一的,这是检索特定用户 ID 的所有日期列表的关键,

因此,如果我尝试 hashmap.get(1125) == i 应该获取用户 1125 的所有日期列表,例如 3-05-2013,4-05-2013,5-05-2013

然后,如果我尝试 hashmap.get(200) == i 应该获取用户 200 的所有日期列表,例如 23-05-2013,24-05-2013

我尝试了这种方式,但我得到了单个用户 ID 的所有日期,例如,

用户200日期[2013年5月3日、2013年5月4日、2013年5月5日、2013年5月23日、2013年5月24日]

这是我的代码,

// TODO Auto-generated method stub

List<User> myEmpls = new ArrayList<User>();

User User1 = new User();
User1.setEmpcode((long) 1125);
User1.setDate("3-05-2013");
myEmpls.add(User1);

User User2 = new User();
User2.setEmpcode((long) 1125);
User2.setDate("4-05-2013");
myEmpls.add(User2);

User User5 = new User();
User5.setEmpcode((long) 1125);
User5.setDate("5-05-2013");
myEmpls.add(User5);

User User3 = new User();
User3.setEmpcode((long) 200);
User3.setDate("23-05-2013");
myEmpls.add(User3);

User User4 = new User();
User4.setEmpcode((long) 200);
User4.setDate("24-05-2013");
myEmpls.add(User4);



long prevUser=0;
int cnt=1;
long users =0;
ArrayList<ArrayList<String>> lists = new ArrayList<ArrayList<String>>();
HashMap<Long, ArrayList> finalmap = new HashMap<>();
ArrayList<String> dates = new ArrayList<>();
for(User time : myEmpls)
{
if(prevUser==time.getEmpcode())
{
users = time.getEmpcode();
System.out.println("users"+users);
dates.add(time.getDate());
}
else
{
dates.add(time.getDate());
}
System.out.println("dates"+dates);
finalmap.put(users, lists);
prevUser = time.getEmpcode();
cnt++;
}

有人可以帮我解决这个问题吗?

最佳答案

Map<Long,ArrayList<String>> map=new HashMap<Long,ArrayList<String>>();
public void addToMap(long id,String blaa)
{
ArrayList<String> ar=map.get(id)
if(ar==null)
{
ar=new ArrayList<String>();
map.put(id,ar);
}
ar.add(blaa);
}

这就是你想要的吗?只需为您收到的每一行调用此方法

关于java - 将长键和数组列表值添加到 hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16815814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com