Java List.add()和Map.put()
使用Java List.add()和Map.put(),java,add,put,difference,Java,Add,Put,Difference,使用列表和映射,我开始思考,为什么用于添加对象的映射方法被称为放置,而用于列表的映射方法是添加 这只是开发人员的意愿,或者在命名这些方法时有些不同 可能是在添加到Map/列表时让开发人员知道的方法名称他使用的是什么样的数据结构? 或者这些名称描述了它们的工作方式?我想如果你进入词源学,我们只能猜测,因为当你将一个值放入一个列表时,你总是会增加列表长度,但是如果你将该值放入一个映射,你就不必增加映射条目的数量(如果键已经存在)对我来说,这是有原因的。 毕竟,List是一个动态数组,它在内部由我们要
列表
和映射
,我开始思考,为什么用于添加对象
的映射方法被称为放置,而用于列表的映射方法是添加
这只是开发人员的意愿,或者在命名这些方法时有些不同
可能是在添加到Map
/列表时让开发人员知道的方法名称
他使用的是什么样的数据结构?
或者这些名称描述了它们的工作方式?我想如果你进入词源学,我们只能猜测,因为当你将一个值放入一个列表时,你总是会增加列表长度,但是如果你将该值放入一个映射,你就不必增加映射条目的数量(如果键已经存在)对我来说,这是有原因的。 毕竟,List是一个动态数组,它在内部由我们要添加的逻辑索引组成。 并在地图内部携带一桶密钥和值对。我们好像在往桶里放东西 可以这样说是因为要得到一个清晰的理解。 由于java是人类可理解的第三级语言,为了更好地理解,它也可以说成简单的英语。区别在于:
Collection#add()
可以看出,您将自己的价值添加到了某个东西池中(Collection的一个实现定义了什么是池)
而使用
Map#put()
可以将您的值与可能已经有值关联的键相关联。为此,您应该阅读Java文档中的和
它们是两个不同的函数,接受完全不兼容的输入,并返回完全不兼容的值。它们是两个完全独立且截然不同的函数,它们的行为完全不同(不同的是,它们都用于向集合中添加元素(概念,而不是接口。因为map没有实现该接口))
从文件中
PUT
将指定值与此映射中的指定键关联(可选操作)。如果映射以前包含键的映射,则旧值将替换为指定值。(称映射m包含密钥k的映射,当且仅当m.containsKey(k)返回true。)
添加
将指定的元素追加到此列表的末尾(可选操作)。
支持此操作的列表可能会限制哪些元素可以添加到此列表中。特别是,一些列表将拒绝添加空元素,而其他列表将对可能添加的元素类型施加限制。列表类应在其文档中明确说明对添加哪些元素的限制。Add将始终在列表末尾添加一个条目 如果密钥不存在,Put将向映射中注入一个条目;如果密钥已存在,则更新该值
因此,操作是不同的。在某种程度上,API的作者必须做出平衡各种顾虑的决策。“添加到集合”具有添加到列表和放置到映射的某些方面,即添加“相等”条目无效。列表:-如果我说我正在向某个容器中添加一些条目,我会说我已经将这些条目添加到了容器中。这里,我们将更多地关注在现有的容器或列表中添加的新条目(java) 地图:-如果我想把一些东西放在某个
储物柜中,或者我的电脑已经有了我不在乎的东西,我只需要把它们放在上面,而不是添加。
在这里,我们集中精力将新数据添加到存储柜或Map
(java)中,而不考虑现有数据
实时示例:-你在茶中添加糖,记住已经是他们的量。你把衣服放在服装店,考虑他们是否存在任何衣服
在爪哇方面:
如果您的列表如下所示:-
List<String> list = new ArrayList<String>();
list.add("java");
list.add("php");
list.add("python");
list.add("perl");
list.add("c");
list.add("lisp");
list.add("c#");
您再次添加了一些foodData.put(“企鹅”,3)
您不必担心在内部添加和更新数据。以区分他们是如何设计语言的。add()
可以看到您将其添加到某个内容的末尾,而使用put()
则将您的值放在键所在的位置(这不是真正的实现)映射。放置
和列表。添加
做非常不同的事情。说他们实际上是以同样的方式行事是完全不正确的。@UnholySheep和Set
中的add
方法无能为力。List
是一个接口,ArrayList
是一个使用数组的接口,在技术上是不正确的。当然,这取决于参数,你可以在开头或任何你想添加的地方添加,但是,使用put,你实际上不知道要插入到哪里。谢谢你的留言@Tezra!你的例子与茶,糖和名单,更提醒我一张地图,糖的数量每次更新的关键(杯)
Map<String, Object> foodData = new HashMap<String, Object>();
foodData.put("penguin", 1);
foodData.put("flamingo", 2);