-
关于HashSet的一些疑问10
最近使用HashSet时,才知道对于HashSet的类我一点也不了解。
HashSet 是不可以有重复元素的,那调用add()方法时,它的内部是怎么判断这个对象是否在该HashSet中存在的呢?
比如:HashSet<Person> set = new HashSet<Person>(); Person p1 = new Person("tom", 12); Person p2 = new Person("tom", 12); set.add(p1); set.add(p2);
请大家指点!
2011年4月25日 14:38
4个答案 按时间排序 按投票排序
-
采纳的答案
如果要保证set里面不出现重复元素,必须要按照自己的需求定义两个对象相等的规则,即在Person类中覆盖掉Object中的equal和hashcode方法。
2011年4月25日 16:27
-
用这个方法:
public boolean contains(Object o)
说明:
Returns true if this set contains the specified element. More formally, returns true if and only if this set contains an element e such that (o==null ? e==null : o.equals(e)).2011年4月25日 15:31
相关推荐
如果对你有帮助请点下 Star,有疑问欢迎提 ,有好的想法请提 。 常用集合 ArrayList/Vector LinkedList HashMap HashSet LinkedHashMap Java 多线程 多线程中的常见问题 synchronize 关键字原理 多线程的三大核心 ...
如果对你有帮助请点下 Star,有疑问欢迎提 ,有好的想法请提 。 常用集合 ArrayList/Vector LinkedList HashMap HashSet LinkedHashMap Java 多线程 多线程中的常见问题 synchronize 关键字原理 多线程的三大核心 ...
如果对你有帮助请点下 Star,有疑问欢迎提 ,有好的想法请提 。 常用集合 HashMap HashSet LinkedHashMap Java 多线程 多线程中的常见问题 synchronize 关键字原理 多线程的三大核心 对锁的一些认知 ReentrantLock ...
很抱歉,根据您给出的信息,"java2java2java2java2" 在这里似乎并不是一个标准的Java相关主题,...以上是一些基本的Java编程知识点,如果您有关于特定Java主题或技术的疑问,或需要更深入的内容,请提供更具体的信息。
7. **异构集合**:`List<T>`、`Dictionary, TValue>`和`HashSet<T>`等集合类提供了不同类型的存储和访问数据的方式。它们各自有不同的优势,可以根据具体需求选择。 8. **控制台应用和Windows Forms/WPF**:C#可以...
在学习Java语法时,可能会遇到关于变量声明、数据类型、运算符和流程控制的疑问。例如,Java有八种基本数据类型:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)和布尔型(boolean)。...
“代码中国.url”则可能是指向一个编程资源网站的链接,如“代码中国”网站,这个网站可能提供了更多关于Java编程的教程、论坛讨论、开源项目以及社区支持。访问这样的资源可以帮助学习者扩展知识,查找解答疑问的...
在"readme.txt"中,可能会包含关于如何使用这些学习资源的指导,例如课程大纲、学习路径建议,或者是一些重要的提示和警告。 最后,"www.heyjava.com.url"可能是指向一个相关的在线学习平台或社区,你可以在那里...
3. **数组与集合**:数组的使用,包括一维和多维数组,以及集合框架(List、Set、Map)的使用,如ArrayList、LinkedList、HashSet、HashMap等。 4. **异常处理**:理解异常的概念,学会使用try-catch-finally语句...
5. **集合框架的深入研究**:Java集合框架包括`List`, `Set`, `Map`接口及其实现,如`ArrayList`, `LinkedList`, `HashSet`, `TreeSet`, `HashMap`, `TreeMap`等。第14章可能探讨它们的特点、用途和性能比较,以及...
以下是一些基于Java和Android面试题目的关键知识点,涵盖了基础到进阶的各个层面。 1. **Java基础知识** - **内存管理**:理解Java垃圾回收机制,包括GC的工作原理、引用类型(强引用、软引用、弱引用、虚引用)...
2. **集合框架**:深入理解ArrayList、LinkedList、HashSet、HashMap等常用集合类的内部实现、操作原理和适用场景。同时,了解并发容器如ConcurrentHashMap、CopyOnWriteArrayList等的特点和使用。 3. **JVM**:...
1. **基础知识**:包括语法、面向对象设计原则(如封装、继承、多态)、异常处理、集合框架(如ArrayList、LinkedList、HashMap、HashSet等)。 2. **JVM原理**:理解类加载机制、内存模型(堆、栈、方法区、本地...
"下载"意味着你可以获取整个项目的源代码,"star"表示你可以收藏此仓库以便日后查看,而"issue"功能则允许你提出疑问或报告问题,与社区成员互动。 【标签】"BUPT 北邮"明确了这个作业集的来源,即北京邮电大学,这...
【Java个人简历代码】是一个关于Java编程语言的项目,它包含了一组代码示例,用于展示个人在Java领域的技能和经验。这个项目可能是为求职者准备的,以便他们在面试或应聘时能展示自己的编程能力。729832422可能是...
这个“j6se中文帮助文档(chm)”是一个关于Java 6的中文版官方帮助文档,旨在帮助中文用户更好地理解和使用该平台。CHM(Microsoft Compiled HTML Help)是一种常见的Windows帮助文件格式,它将HTML页面编译成一个...
接下来,熟悉Java集合框架,包括数组列表、链表、队列、栈、映射(HashMap、HashSet等)等数据结构,以及它们在实际问题中的应用。这些工具能够有效地存储和管理数据。 对于输入输出(IO)和异常处理,理解流的概念...
【JAVA实战学习.zip】这个压缩包文件显然包含了关于JAVA编程语言的实战学习资料,适合用于个人学习和复习。JAVA是一种广泛应用于服务器端开发、移动应用、大数据处理等领域的高级编程语言,其特性包括面向对象、健壮...
- Jim Pleger(Loudoun County政府)称赞本书是准备Sun认证Java程序员考试的绝佳资源,并且是解决Java疑问时首先查阅的书籍。 - Anatoly Vorobey(以色列理工学院)认为本书相比其他Java书籍更为成熟、一致且精确...
4. **数组和集合框架**:掌握数组的创建、访问和操作,以及集合框架(如List、Set、Map接口及其实现类ArrayList、HashSet、HashMap等)的使用。 5. **字符串处理**:熟悉String类的特性,包括不可变性、字符串连接...