【发布时间】:2012-08-21 17:05:33
【问题描述】:
ArrayList group = new ArrayList();
group.add("约翰·史密斯","5126123");
我想存储 2 个数据。所以我可以通过数字访问名称和通过名称访问数字。 ArrayList 是否可以实现?
*而且不同的人可以有相同的组号
【问题讨论】:
-
你的问题有点过时了。您的姓名和电话号码总是独一无二的吗?还是只有数字或名称是唯一的?如果您的号码或名称是唯一的,您应该使用 Map 而不是 ArrayList。否则你必须开始在 ArrayList 中使用 ArrayList,所以它是二维的。
-
让我写一个例子:group.add("John Smith","1"); group.add("Elis Smith","1"); group.add("迈克尔·史密斯","1"); group.add("Luuk Daves","2");
-
您可以创建一个以数字为键的 HashMap,并将属于该键的名称存储到 ArrayList 中,这样您将拥有一个 HashMap
>。但随后您将不得不遍历您的哈希映射以在 ArrayList 中搜索名称。 -
或者,如果您想要更多的面向对象工作,那么您可以使用名称和 id 属性创建一个“用户”bean,使用用户详细信息对其进行实例化,然后将该 bean 添加到 ArrayList。然后覆盖您的“等于”方法以满足您的搜索需求。
-
我需要通过询问号码来访问名称,否则。 Hashmap 是键/值,所以这不会真正起作用。名称必须是唯一的,数字不是。我猜迭代 Hashmap 是最好的解决方案。
标签: string arraylist multidimensional-array store