在Java中使用集合的正确方法?

时间:2013-04-07 13:18:19

标签: java data-structures collections arraylist

我有以下代码。但是我怀疑它是否是实施它的正确方法。

我的意思是:在集合框架中有许多数据结构可供使用,并且创建类(MemberList)来管理许多成员的聚合可以使用ArrayList实现,{{1优先队列...

我想使用符合我需求的数据结构,并且在搜索,排序,删除,添加,修改和删除方面具有最少的大O.

LinkedList

谢谢!

2 个答案:

答案 0 :(得分:1)

这个问题过于宽泛,“在Java中使用集合的正确方法”也是一个哲学问题,因此无法在科学上得到解答。

特别针对您的情况,根据您的成员池,您可能不希望在需要拉出成员时迭代它们。我建议你使用类似HashMap<String,Member>的东西,其中每个成员都有一个可识别的唯一密钥(例如用户名)。这将授予您O(1)访问速度,并允许您在需要时使用.values()进行迭代。

您可以像这样使用HashMap:

// This is how you create a hash map:
HashMap<String,Member> members = new HashMap<String,Member>();

// This is how you add an object to it. It is slower than lists,
// but since reading happens far often, it pays off.
members.put("ben", new Member());

// This is how you access an object in the hash map.
// Accessing a hash map is O(1).
Member member = members.get("ben");

// This is how you remove an object from the hash map.
// Removing an object is also O(1)
members.remove("ben");

// Hash maps are also iterable
for(Member member : members.values()) {
}

答案 1 :(得分:0)

如果你不想使用JDBC,我会使用数组列表。 但是后来如果你的项目要成长,你必须使用JDBC。