`
jiaguwen123
  • 浏览: 415061 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

一个关于自己定义的类,做为hashMap的key对象的例子

 
阅读更多
package iss.com.equals;

import java.util.Date;

class CountIsable {

 private Date date;

 private String accountNo;

 private String bankCode;

 public CountIsable(Date transactionTime, String accountNo, String bankCode) {
  this.date = transactionTime;
  this.accountNo = accountNo;
  this.bankCode = bankCode;
 }

 public CountIsable(String accountNo, String bankCode) {
  this.accountNo = accountNo;
  this.bankCode = bankCode;
 }
                
 public boolean equals(CountIsable mapKey) {
  if (DateUtil.compareDate(date, mapKey.getDate()) == 0
    && accountNo.equals(mapKey.getAccountNo())) {
   if (mapKey.getBankCode() == null
     || mapKey.getBankCode().equals(bankCode))
    return true;
  }
  return false;
 }
 public boolean equals(Object key) {
  CountIsable mapKey=(CountIsable)key;
  if (DateUtil.compareDate(date, mapKey.getDate()) == 0
    && accountNo.equals(mapKey.getAccountNo())) {
   if (mapKey.getBankCode() == null
     || mapKey.getBankCode().equals(bankCode))
    return true;
  }
  return false;
 }

 public String toString() {
  return date.toString() + accountNo + bankCode;
 }

public int hashCode() {
 int temp =(date.toString() + accountNo + bankCode).hashCode(); 
  return temp;
 }

 public String getAccountNo() {
  return accountNo;
 }

 public String getBankCode() {
  return bankCode;
 }

 public Date getDate() {
  return date;
 }
}
分享到:
评论

相关推荐

    枚举 HashMap

    通过将枚举值作为键(Key),相关属性或行为作为值(Value),我们可以创建一个映射关系,达到类似枚举的效果。 下面我们将详细探讨如何使用HashMap实现枚举功能: 1. **枚举类的替代** 在Java中,枚举类可以定义...

    HashMap排序

    1. **定义比较器**:定义一个名为`ByValueComparator`的类,该类实现了`Comparator<String>`接口。在这个比较器中,根据给定`HashMap`中对应键的值来进行比较。 2. **使用TreeMap或Collections.sort()**:可以使用`...

    Java8HashMap键与Comparable接口编程开

    在Java编程中,HashMap是Java集合框架中的一个重要成员,它提供了高效的存储和检索对象的机制。在Java 8中,HashMap有一些重要的优化和改进,尤其是对于键(Key)的处理方式。这里我们将深入探讨Java 8 HashMap如何...

    java HashMap通过value反查key的代码示例

    接着,我们定义了一个名为`valueGetKey`的静态方法,这个方法接受一个HashMap和一个目标值作为参数,返回一个包含所有与该值匹配的键的ArrayList。 `valueGetKey`方法的核心是迭代HashMap的entrySet()。entrySet()...

    进销存系统文档作业例子

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    java购物车例子struts+hibernate+spring

    **购物车实现原理**:在用户会话(session)中使用HashMap存储购物车信息,键(key)为商品ID,值(value)为一个包含商品ID、数量、单价和总价的DTO(Data Transfer Object)。同时,使用List来记录用户点击过的...

    classKeyValue.zip

    例如,一个简单的`Person`类可能包含`name`和`age`字段,以及`sayHello()`方法: ```java public class Person { String name; int age; public Person(String name, int age) { this.name = name; this.age ...

    基于Spring2.0的Collection配置使用例子

    例如,如果你有一个服务类,需要注入一个List,配置可能如下: ```xml <value>Value1 <value>Value2 ``` 在上面的例子中,`myService` Bean的`myList`属性被初始化为包含三个元素的List:两个字符串...

    中介者模式复杂版1

    `SNServer`, `SHDJServer`, `NJDJServer` 是具体的中介者实现,它们继承自 `Server` 类,都包含一个 `HashMap` 用于存储 `Comunicator` 对象,即参与通信的实体。这些服务器类并没有具体的业务逻辑,它们的主要职责...

    java设计模式

    根据提供的内容,我们可以看到策略模式通过一个接口`IStrategy`定义了一个策略行为,并且通过具体的实现类(如`BackDoor`)来提供不同的策略实现。下面我们将进一步分析这个例子: ```java package ...

    Many-To-Many_Element.rar_hibernate 多对多

    例如,对于User和Role类,我们可以在User类中添加一个Role的集合,同时在Role类中添加一个User的集合。这两个集合可以使用`@ManyToMany`注解来声明,并通过`mappedBy`属性指定对方的属性名: ```java @Entity ...

    多例模式学习笔记

    - 当一个类的实例需要在整个应用程序范围内共享时,但又不希望像单例那样严格限制为一个实例。 总结来说,多例模式是一种在特定场景下对单例模式的扩展,它在保持一定控制的同时提供了更多的灵活性。在实际开发中,...

    JQuery发起ajax请求Struts2,并操作JSON数据的例子

    2. **Struts2 Action处理请求**:创建一个Struts2 Action类,定义一个方法处理请求,返回JSON数据。需要在struts.xml配置文件中添加对应的Action配置,并指定结果类型为json。 ```java public class MyAction ...

    Spring Velocity简单的一个例子(转)

    Velocity是一个Java模板引擎,它允许开发者将逻辑和表示分离,使得网页设计更加清晰,而Spring框架则为Java应用程序提供了一个全面的依赖注入和服务层。 在Spring框架中集成Velocity,首先你需要在项目的类路径下...

    java基础设计模式模式 - 享元模式.7z

    1. **Flyweight(享元)接口/抽象类**:定义了所有共享对象的公共接口或抽象类,通常包含一些基本属性和行为。 2. **Concrete Flyweight(具体享元)**:实现了Flyweight接口,提供了具体的功能。这些对象是可以共享...

    SimpleAdapter.zip安卓

    接着,我们需要创建一个数据集合,并填充HashMap对象。然后,实例化SimpleAdapter,如下所示: ```java List<HashMap, String>> dataList = new ArrayList(); HashMap, String> item = new HashMap(); item.put(...

    ListView简单例子

    这可以是一个ArrayList,其中包含你需要展示的对象。例如,我们可以创建一个包含字符串的ArrayList: ```java ArrayList<HashMap, String>> listData = new ArrayList(); HashMap, String> item; for (int i = 0; i...

    java课程设计代码

    在这个例子中,`main`方法创建了一个`MainFrame`对象,这可能是一个窗体或用户界面的组件,用于接收用户的输入和展示结果。 3. **数据结构**:代码使用了`HashMap`来存储生肖和对应的运势信息。`HashMap`是Java集合...

    JAVA中用动态代理类实现记忆功能(二).rar

    例如,我们可以创建一个名为`Calculable`的接口,其中包含一个`calculate`方法: ```java public interface Calculable { int calculate(int a, int b); } ``` 然后,创建一个实现了`Calculable`接口的类,比如`...

    应聘Java笔试时可能出现问题及其答案

    - `protected`:在同一个包或不同包的子类中可以访问。 - `friendly(默认)`:在同一包内可以访问,但不对外公开。 2. **ArrayList 和 Vector的区别,HashMap 和 Hashtable 的区别**: - ArrayList 和 Vector ...

Global site tag (gtag.js) - Google Analytics