gpt4 book ai didi

Java 打印带有组名称的 ArrayList 组

转载 作者:行者123 更新时间:2023-12-02 00:39:49 28 4
gpt4 key购买 nike

我只是一个初学者,正在自己学习 Java!我只有一个用户对象的数组列表:

class Users{
public userName;
public userNumber;
}

然后我创建一个模型:

 ArrayList<Users> model=new ArrayList<Users>();

并将模型项添加为:

 model.add(new Users("abc","123"));
model.add(new Users("def","888"));
model.add(new Users("abc","246"));
model.add(new Users("def","999"));
model.add(new Users("abc","456"));

我想要做的是以这种方式打印模型,该模型应该显示类似的分组数据,组名称为:

 for(int i=0;i:i<users.size;i++){
System.out.printlin("users:::"+users.get(i).userNumber);
}

但它也应该按名称分组和打印组,即:

 abc ->
users:::123
users:::246
users:::456

def ->
users:::888
users:::999

所以我想对数据进行分组,然后以分组格式打印数据以及每个组名称!

我该怎么做,我只是在自学 Java。提前致谢

最佳答案

实现您想要的操作的一种快速且简单的方法是使用 HashMap 。 HashMap 是键值集合,在您的情况下,您将创建一个 HashMap<String, List<String>>其中存储 username作为键,并且 userNumber作为值列表(因为您有多个值)。

然后您的代码将更改如下:

  1. 迭代您拥有的所有用户。
  2. 如果 username存在于 hashmap 中,添加 usernumber到它。
  3. 如果 username不存在,使用usernumber将其添加到hashmap中作为其列表的第一个元素。

最后,您将迭代 HashMap ,打印它所具有的键和值。

关于Java 打印带有组名称的 ArrayList 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57951682/

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