在HashSet中包含相等的对象(Containing equal objects in the HashSet)
您好我发现了一个与收藏相关的问题。
public class Person { private String name; public Person(String name){ this.name=name; } public boolean equals(Object o){ if(!(o instanceof Person))return false; Person p=(Person)o; return p.name.equals(this.name); } public static void main(String[] args) { HashSet<Person> hs=new HashSet<Person>(); hs.add(new Person("Hi")); hs.add(new Person("Hi")); hs.add(new Person("Hi")); hs.add(new Person("Hi")); System.out.println("Elements"+hs.size()); } }
Hashset的大小为4.但不是必须为1吗? 由于equals方法已实现,HashSet是否可以包含多个具有相同名称的Person对象?
所有Person对象是否都具有相同的哈希码,因为hashCode方法没有被覆盖?
Hello I found a question like this related to collections.
public class Person { private String name; public Person(String name){ this.name=name; } public boolean equals(Object o){ if(!(o instanceof Person))return false; Person p=(Person)o; return p.name.equals(this.name); } public static void main(String[] args) { HashSet<Person> hs=new HashSet<Person>(); hs.add(new Person("Hi")); hs.add(new Person("Hi")); hs.add(new Person("Hi")); hs.add(new Person("Hi")); System.out.println("Elements"+hs.size()); } }
The size of the Hashset is given as 4. But doesn't it need to be 1? Since the equals method has implemented, can the HashSet contain multiple Person objects with the same name?
Do all the Person objects have the same hashcode as the hashCode method is not overridden?
原文:https://stackoverflow.com/questions/27664261
最满意答案
此问题已通过https://github.com/googleapis/nodejs-firestore/pull/123修复,并将成为下一个@ google-cloud / firestore版本的一部分。
如果你被阻止,你可以从头部拉入NPM包,如下所示: https : //docs.npmjs.com/files/package.json#github-urls
This issue has been fixed with https://github.com/googleapis/nodejs-firestore/pull/123 and will be part of the next @google-cloud/firestore release.
If you are blocked on this, you can pull in the NPM package from head as outlined here: https://docs.npmjs.com/files/package.json#github-urls
相关问答
更多-
Reference包含文档的整个路径,而简单的字符串ID没有上下文。 当然,您可以将路径作为字符串存储,但为了方便(并且在自定义对象中易于使用),将整个Reference对象存储起来可能很有用。 Reference的排序顺序也与String的排序顺序不同。 从支持的数据类型文档 : 引用排序顺序:按路径元素(集合,文档ID,集合,文档ID ...) 文本字符串排序顺序:UTF-8编码的字节顺序 这意味着您也可以在编写查询时通过将其与另一个Reference对象进行比较来过滤数据库中的Reference对象。 ...
-
此问题已通过https://github.com/googleapis/nodejs-firestore/pull/123修复,并将成为下一个@ google-cloud / firestore版本的一部分。 如果你被阻止,你可以从头部拉入NPM包,如下所示: https : //docs.npmjs.com/files/package.json#github-urls This issue has been fixed with https://github.com/googleapis/nodejs-f ...
-
从documentSnapshot获取Cloud Firestore文档参考(Getting a Cloud Firestore document reference from a documentSnapshot)[2023-05-15]
在您的代码中, documentSnapshot是DocumentSnapshot类型的对象。 它看起来像你假设它是一个DocumentReference类型的对象。 引用的目的是找到一个文档。 快照的目的是在文件被查询后接收文件的内容 - 它们绝对不是同一件事。 DocumentSnapshot没有path属性。 如果您想要在DocumentSnapshot中获取的文档的DocumentReference,则可以使用快照中的ref 。 然后你可以得到ref的路径属性: documentSnapshot.r ... -
假设你在每个用户对象下都有一个name为caled的属性,为了解决这个问题,请使用下面的代码: DocumentReference docRef = db.collection("Users").document("user_01"); docRef.get().addOnCompleteListener(new OnCompleteListener
() { @Override public void onComplete(@NonNull Task Firestore:在文档中创建ArrayList的子文档(Firestore: Create a Subdocument of ArrayList inside a Document)[2022-04-10]
从我的理解你的问题,你想在你的例程文件中创建一个子集的练习。 以下代码会将所有练习添加到日常文档中的RoutineExercises集合中。 据我所知,你不能直接保存一个ArrayList作为子集合。 fm.getColRefUserRoutines().add(routine).addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess( ... 您可能还希望在/users集合中创建文档以及online子集合。 否则,你最终会得到一个孤儿集合。 我已经添加了一些代码来做到这一点。 您可以从user事件中获得许多其他详细信息,您可以将其保存在文档中,例如电子邮件,名称,photoURL等。 我不确定这是你想要的,但它应该做你需要的。 exports.initializeNewUser = functions.auth.user().onCreate((user) => { const userRef = db.doc(`users/${user ...请使用“object”语法: 对象表示法 例如Java代码: button1.setOnClickListener(new OnClickListener() { public void onClick(View v) { // Handler code here. Toast.makeText(this.MainActivity, "Button 1", Toast.LENGTH_LONG).show(); } }); 科特 ...在JS对象中递归地转换和异步DocumentReference(Convert recursively and Asynchronous DocumentReference in an JS object)[2023-08-05]
如果你使用async/await而不是常规的承诺,那将会容易得多。 然后你可以像这样递归地遍历对象: // Using lodash just for `isArray` and `isObject`. You can use vanilla js if you want const _ = require('lodash'); const getData = async ref => (await ref.get()).data(); // Please check this function. ...这些get()请求正在通过网络从Cloud Firestore后端读取数据,因此它们必然比只从磁盘本地读取的SQLite慢得多。 第一次读取也可能比后续读取慢,因为它必须启动到后端的网络通道。 我们将着眼于提高性能,但如果您通过网络检索数据,则不能指望0 ms。 您可能希望启用脱机持久性 ,这将启用您先前读取的数据的本地缓存。 请注意, get()调用仍将首先尝试访问网络,以便为您提供尽可能最新的数据。 如果您使用addSnapshotListener() ,我们将立即使用缓存数据呼叫您,而无需等待网络。 ...DocumentReference.set(Object o)更改布尔字段名称(DocumentReference.set(Object o) changes boolean field names)[2024-01-28]
这是一个自动转换,因此getter可以命名为isBoolean而不是getBoolean 。 在Android中,您可以使用@PropertyName命名属性,这将允许您指定其他名称(在此实例中为确切名称),Firebase应按原样使用: class Invitation { private boolean isRequested; @PropertyName(value="isRequested") public boolean isRequested() { r ...相关文章
更多- Guava Objects类详解
- 怎么理解Set集合中的HashSet中的元素是无序的?
- xfire服务器端返回自定义对象中包含hashmap的问题
- 请教怎样根据对象的引用得到包含它的对象的引用呢?
- hibernate值类型集合映射-一个顾客多个地址
- JDBC系列教程之十四:用反射ResultSetMetaData将查询结果读入对象中
- 对象关系映射(ORM)-Oceanus编码调用
- FreeMarker模板包含及名称空间
- 求下面数据库的错误??
- Hadoop MapReduce程序 不包含Reduce的设置
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。