【发布时间】:2013-12-27 03:48:15
【问题描述】:
为避免重复声明,我查看了this 的帖子,这并不是我想要的。
涉及double 或int 数字的所有其他2D ArrayList 问题;我的问题是关于Strings。
我在做什么
我有一个 2D ArrayList,定义如下:
ArrayList<ArrayList<String>> namesAndNumbers = new ArrayList<ArrayList<String>>();
这个想法是 ArrayLists 的每一行中的第一项包含姓名,每行中的其余列包含电话号码(数量未知)。因此,我想避免将其转换为常规数组。
样本
假设我已经填充了我的 ArrayList 并且我有这个:
{"Mike", "(805) 766-4920"}
{"Emily", "(705) 668-9292", "(705) 555-1060"}
{"James", "(605) 965-2000"}
我希望我的输出是这样的:
{"Emily", "(705) 668-9292", "(705) 555-1060"}
{"James", "(605) 965-2000"}
{"Mike", "(805) 766-4920"}
我想保留与名称对应的数字,但只需按名称对数组进行排序。
我希望得到什么答案
我希望有一个内置函数操作类型的东西,但如果有人为我创建了一个排序数组方法并使用 2D ArrayList 作为输入,我会很好。我还没有看到任何明确回答这个问题的问题。 我也将继续尝试自己想出一个答案。
【问题讨论】:
-
您为什么不为此使用 Java 中的集合 - 我认为这对于您的情况来说是一个完美的工具,不是吗?
-
@harikris 它是一个嵌套的 ArrayList。是的,我认为 Collections 可以工作,但我不知道如何处理它。
-
如果您使用 Collections,那么排序将变得轻而易举。此外,如果您使用 Sets 而不是 Lists,那么您也可以避免重复条目 - 所有这些都是自动为您完成的。学习集合和泛型并不难。我可以推荐一本参考书吗?不确定这是否会被视为促销活动。这本书不是我写的。只是认为这是一个很好的资源。作者是 Kathy Sierra 和 Bert Bates。他们在 Head First Java 书中有一章是关于集合/泛型的。 HTH。
-
@harikris 您可以提出建议,但我可能不会阅读它来回答这个问题。我目前没有时间立即阅读。不过可能会晚一点。谢谢。
-
没问题。那一章有一个工作示例。只是让你知道。供以后使用。