原文地址:http://www.java2000.net/p11767 集合在Java里面的作用非凡,我们常用的有Set,List和Map三种,我们先熟悉一下Set,特别是HashSet的使用
说明,针对HashSet:
- Set不允许重复
- 允许 null,重复的null只算一个
- 判断是否存在一个数据(是否重复),先判断其hashCode是否存在,若存在再逐个判断hashCode相同的数据是否相等
- 判断是否相等,除了hashCode相等外,还要判断对象引用相等(==),或者 equals
- 如果一个对象的hashCode变动了,会造成找不到这个对象,也就出现了内存泄漏的危险。
hashCode 方法是HashSet里面对象的关键,它的算法影响到了数据的分散和查找效率。某个确认对象的hashCode不应该变动,避免出现内存泄漏,可以采用如下方法,来方式属性变化造成hashCode变化
- class MyObject3 {
- private int age;
- private String name;
-
-
- private int HASHCODE = Integer.MIN_VALUE;
- public int hashCode() {
- if (HASHCODE == Integer.MIN_VALUE) {
-
- HASHCODE = name.hashCode() + String.valueOf(age).hashCode();
- }
- return HASHCODE;
- }
- }
分享到:
相关推荐
day18-集合-中(HashSet&TreeSet&比较器).zip
例子2-2 package test; import java.util.HashSet; import java.util.Iterator; //package cn.itcast.p.bean; class Person /*extends Object*/// implements Comparable { private String name; private int...
HashSet 是 Java 中的一个集合类,它实现了 Set 接口并提供了基于哈希表的无序、不重复元素的集合。具体来说,它是通过哈希表(实际上是一个 HashMap 实例)来存储元素的。 以下是 HashSet 的一些主要特点: 无序...
Java 集合类 List-Set-Map 的区别和联系 Java 集合类 List、Set 和 Map 是 Java 语言中最基本的集合类,它们之间存在着紧密的联系和区别。在本文中,我们将对 Java 集合类 List、Set 和 Map 的区别和联系进行详细的...
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
在Java编程语言中,集合类是用于存储一组...在黑马程序员_毕向东_Java基础视频教程中,你可能会更详细地学习到关于HashSet的实现原理和实战技巧。通过观看相关视频和实践操作,可以加深对HashSet的理解,提升编程能力。
计算机后端-Java-Java核心基础-第24章 集合01 22. HashSet中元素的添加过程.avi
Java集合框架是Java编程语言中的一个重要组成部分,它提供了一种高效、灵活地管理对象的方式。在Java中,集合主要分为两大接口:...了解并熟练掌握这些集合的特性和使用场景,对于提高Java编程效率和代码质量至关重要。
Java 2 入门教程是针对初学者设计的教育资源,旨在帮助新手快速理解并掌握Java编程的基本概念和技能,从而具备初步的软件开发能力。Java作为一种广泛应用的编程语言,广泛应用于桌面应用、移动应用(尤其是Android...
Java基础教程是编程初学者踏入Java世界的敲门砖,由清华大学的专家精心打造,旨在提供一个全面而深入的Java学习平台。本教程涵盖了Java语言的基础概念,编程理念以及实际应用,帮助学习者从零开始逐步掌握这门强大的...
8. **集合框架**:Java集合框架包括接口(如List、Set、Queue)和实现类(如ArrayList、LinkedList、HashSet、HashMap等),它们用于存储和管理对象。 9. **多线程**:Java内置了对多线程的支持,可以创建Thread...
Java基础知识学习教程-9集合与泛型 Java集合框架是Java语言中的一种数据结构,用于存储和操作数据。集合框架提供了多种类型的集合,包括Collection、Set、List、Queue、Map等。这些集合类型都继承自Collection接口...
《JAVA2实用教程-2》是一份全面深入的Java学习资料,旨在帮助初学者和有一定基础的开发者提升Java技能。这份教程涵盖了从基础知识到高级应用的广泛内容,以循序渐进的方式进行讲解,确保学习者能够逐步掌握Java编程...
8. **集合框架**:讲解List(ArrayList和LinkedList)、Set(HashSet和TreeSet)和Map(HashMap和TreeMap)接口及其实现类的基本用法。 9. **IO流**:介绍输入输出流的概念,包括字节流(InputStream和OutputStream...
Java 2简明教程-第2版是一本深入浅出的Java编程学习资源,适合初学者和有一定经验的开发者。这个教程以电子课件的形式呈现,结合源代码,提供了丰富的学习材料,帮助读者掌握Java语言的核心概念和技术。下面将详细...
Set集合是JavaSE中的一种重要数据结构,主要包括HashSet、TreeSet和LinkedHashSet三个子类。下面我们将对Set集合的原理、特点、使用场景等进行详细的探索和分析。 HashSet HashSet是Set集合中的一种重要实现类,...
Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...
2. **数组与集合框架**:Java中的数组用于存储同类型的多个元素,而集合框架如ArrayList、LinkedList、HashSet和HashMap等提供了更灵活的数据结构,适合处理动态数据。 3. **异常处理**:学习如何使用try-catch-...