`

自定义类的equals函数

    博客分类:
  • Java
 
阅读更多
仅作笔记使用
public class VectorQueue {

	private final Vector<VectorItem> queue;

	private class VectorItem {
		private final Object item;
		private final int quantity;

		public VectorItem(Object item, Integer quantity) {
			this.item = item;
			this.quantity = quantity;
		}

		@Override
		public boolean equals(Object o) {
			if (o instanceof VectorItem) {
				return this.item.equals(((VectorItem) o).item);
			}
			return false;
		}

		@Override
		public int hashCode() {
			return this.item.hashCode();
		}
	}

	public VectorQueue() {
		this.queue = new Vector<VectorItem>(10);
	}

	public void removeItem(Object item) {
		queue.removeElement(new VectorItem(item, null));
	}

	public boolean isQueued(Object item) {
		return queue.contains(new VectorItem(item, null));
	}
}
分享到:
评论

相关推荐

    JSP EL 自定义函数

    在这个类中,你需要重写`resolveFunction`方法,该方法会在EL表达式中查找并解析自定义函数。 3. **注册Function Library**: 在JSP页面或Web应用的部署描述符(`web.xml`)中,你需要声明你的函数库,这样JSP引擎才能...

    xalan xslt自定义函数如何关联(java)

    创建一个`FunctionResolver`的实现,并在其中添加对自定义函数类的引用: ```java import org.apache.xalan.extensions.ExtensionHandlerJavaPackage; import org.apache.xalan.res.XSLMessages; import org.apache...

    hive的自定义函数

    2. **修改注册文件**:在`FunctionRegistry.java`文件中导入自定义UDF类,并使用`registerUDF("自定义函数名称", 自定义类名.class, false);`注册函数。 3. **编译部署**:重新编译整个Hive项目,并将编译好的`hive-...

    java中equals()函数的用法 equals和==的区别

    在自定义类中,如果你希望比较的是对象的内容而不是引用,你也需要重写`equals()`方法。通常,这个方法应该遵循以下原则: 1. **自反性**:对于任何非null的引用x,x.equals(x)应返回true。 2. **对称性**:如果x....

    java equals函数用法详解

    1. **重写 `equals()`**:当你创建了一个自定义类并且这个类的实例需要根据其内容而不是引用来判断相等性时,你应该在类中重写 `equals()` 方法。同时,如果重写了 `equals()`,通常也需要重写 `hashCode()` 方法,...

    从JSTL和STRUTS的TLD文件到自定义EL函数

    自定义函数需要实现特定的接口或者继承特定的类,并在TLD文件中进行声明。例如,若要创建一个名为`myFunction`的自定义函数,可以按照以下步骤操作: 1. **编写实现类**:创建一个类实现`javax.el.FunctionMapper`...

    C++写的自定义时间类

    此外,时间类可能会有用于比较时间的成员函数,如`before()`, `after()` 和 `equals()`,以便进行时间的排序或判断: ```cpp bool before(const CustomTime& other) const { // 比较各时间组件,如果当前时间小于...

    js equals方法

    但是,由于JavaScript的灵活性,我们可以自定义一个`equals`函数来实现对象间的深度比较。这个方法通常用于比较两个对象的属性和值是否完全相等,而不仅仅是引用是否相同。以下是对`equals`方法的详细探讨。 ### 1....

    HashCode相同equals不同的2位字符集合算法

    在这种情况下,我们需要在自定义类中正确地实现`hashCode()` 和 `equals()` 方法。对于2位字符集合,我们可以考虑以下策略: - **hashCode()**: 可以将两个字符的ASCII值进行某种组合,如异或操作,然后对一个较大...

    299.297.JAVA基础教程_面向对象(中)-equals()练习1:代码实现(299).rar

    通过本教程的练习,您将学习如何自定义`equals()`方法来满足特定类的比较需求。 首先,让我们理解默认的`equals()`行为。当我们在两个对象上调用`equals()`而没有重写它时,实际上是调用了`Object`类中的`equals()`...

    set接口经常用的hashCode和equals方法详解

    假设我们有一个自定义类`Person`,我们需要为其实现`hashCode`和`equals`方法: ```java public class Person { private String name; private int age; // 构造函数和其他方法省略... @Override public ...

    28个java常用的工具类

    2. **Arrays类**:这个工具类提供了排序、比较、复制和填充数组的功能,如Arrays.sort()、Arrays.equals()、Arrays.copyOf()等。 3. **Collections类**:与Arrays类类似,Collections类提供了对集合框架中各种接口...

    自定义的Calendar

    除了上述方法,你还需要实现`clone()`、`equals()`、`hashCode()`以及`getTime()`和`getTimeInMillis()`,以确保自定义`Calendar`的行为与基本`Calendar`类保持一致。 在实际开发中,你可能会遇到的问题包括处理...

    Java中的equals和hashCode方法详解1

    然而,根据具体的应用场景,我们通常需要在自定义类中重写这些方法,以满足特定的需求。 `equals()`方法主要用于比较两个对象是否相等。默认情况下,`equals()`方法会比较两个对象的内存地址,也就是检查它们是否...

    java常用函数.doc

    `StringTokenizer`类用于分析字符串,通过自定义分隔符进行拆分。 接着,我们讨论包装类,如`Integer`,它提供了将字符串转换为整数的`parseInt()`方法。类似的,还有`Long.parseLong()`、`Float.valueOf().float...

    Java 程序显示 equals() 方法的用法.docx

    在Java编程语言中,`equals()`方法是一个非常关键的成员函数,主要用于比较两个对象是否相等。这个方法在Java的Object类中定义,并且所有的Java类都默认继承了Object类,因此所有类的对象都可以使用`equals()`方法。...

    Android自定义属性

    2. 在自定义View类中获取属性值: ```java public class MyView extends View { private int customColor; private String customText; public MyView(Context context) { this(context, null); } public ...

    c# 自定义值类型一定不要忘了重写Equals,否则性能和空间双双堪忧

    为了优化性能和减少内存消耗,你应该始终在自定义值类型中重写`Equals`方法,同时也要考虑重写`GetHashCode`,因为这两个方法通常一起使用,尤其是在哈希表或集合中进行查找时。正确的做法是使用结构化比较,避免...

    前端开源库-shallow-equals

    因此,对于对象和数组的比较,我们需要自定义逻辑,这就是shallow-equals库的作用。 shallow-equals库的工作原理通常是这样的:它接受两个参数,通常是对象或数组,然后遍历这两个结构的第一层。对于每个键或索引,...

    java常见函数实验

    在自定义类`User`中,我们可以覆盖这两个方法,使两个`User`对象在ID和姓名相同的情况下被视为相等,并在调用`toString()`时输出所有属性。 5. **Map对象的操作**: `Map`接口代表了键值对的映射,`HashMap`是常用...

Global site tag (gtag.js) - Google Analytics