我有以下代码。但是我怀疑它是否是实施它的正确方法。
我的意思是:在集合框架中有许多数据结构可供使用,并且创建类(MemberList
)来管理许多成员的聚合可以使用ArrayList
实现,{{1优先队列...
我想使用符合我需求的数据结构,并且在搜索,排序,删除,添加,修改和删除方面具有最少的大O.
LinkedList
谢谢!
答案 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。