当前位置: 首页 > 知识库问答 >
问题:

良好的设计实践:将对象的引用存储在列表或其键中?[关闭]

姚和顺
2023-03-14

给定的类:

public class SocialNetwork
{
    private final Map<String, User> users;
    ...
}

public class User
{
    private final String user;
    private final LinkedList<String> followers; //stores the users that "user" follows
...
}

我想知道将用户名存储在“followers”(这是唯一的)中并通过“users”hashmap检索对对象的引用,或者将“user”类的对象直接存储在“followers”(即LinkedList)中是否被认为是一种好的设计实践(以及为什么)


共有1个答案

江洲
2023-03-14

如果键是唯一的,并且不需要保留插入顺序,则使用map。它可以更快地查找,并使您的代码组织清晰。

 类似资料:
  • 本文向大家介绍SQL 设计良好的表的属性。,包括了SQL 设计良好的表的属性。的使用技巧和注意事项,需要的朋友参考一下 示例 真正的关系数据库必须超越将数据扔到几个表中并编写一些SQL语句来提取数据的能力。 最好的一个错误设计的表结构将减慢查询的执行速度,并可能使数据库无法按预期运行。 一个数据库表不应被视为另一个表。它必须遵循一组规则才能被认为是真正的关系。从学术上讲,区分是一种“关系”。 关系

  • 假设我的代码是这样的: 简而言之,使用add()将对象添加到ArrayList时: ArrayList是“对对象的引用”的列表,还是“实际对象”的列表???

  • null 将整个object1作为完整的JSON存储在my key下。 将object2与它自己的键一起存储在我的object1序列化中,以将object2键作为引用,并且当从缓存中拉回时,也通过它的键拉出object2。 我觉得选项1是最好的实践,也是最有效的,但我有第二个想法,将大的嵌套对象存储在on键下。

  • 我目前正在改进一些旧的uni分配,将它们从可序列化文件转移到任何其他形式的存储,主要是SQL数据库。我理解关系数据库设计的概念以及与OOP类的相似之处,但是,我不完全确定如何从OOP设计的角度来处理这个问题。 现在我有一个酒店类,房间列表为属性,每个房间都有一个客人列表为属性(此处为完整代码) 回到使用文件时,我可以用Serializable接口标记这些类,并将父对象存储在单个文件中。但是当使用关

  • 我的大部分编程经验都是用C++编写的。我正在学习Javafx中的许多优秀特性,但到目前为止,我最大的障碍是在用Javafx编写应用程序时是否使用了良好的编程实践。首先,我被教导要在C++中保持“main函数”尽可能干净,所以它主要包含我自己的类对象及其方法。在外汇工作时,这是一般的好做法吗?即在包含start方法的主类之外创建一些类,然后将这些类的对象添加到start方法中?这里有一个例子: 这个

  • 问题内容: 一个简单的问题,Java中的列表是否按值或引用保存对象?如果我将一个对象放在列表中,然后再更改其值之一,列表中的那个对象将具有更新后的值吗? 问题答案: Java中的列表是否按值或引用保存对象? 该 列表 是一个包含对象引用的有序集合。 如果我将一个对象放在列表中,然后再更改其值之一,列表中的那个对象将具有更新后的值吗? 您只能更改/更新 可变 对象。您无法通过它们的引用更新 不可变