无法比较矢量数据

时间:2012-05-07 11:14:05

标签: java collections vector hashtable

我想比较散列表中存在的向量值与其他向量,如果向量值相同,我想要执行某些操作,否则我必须执行保存,但我总是得到两者中的向量值是不同的。因为我正在处理旧项目,所以不能使用泛型。

Hashtable hCompareTable = rUtil.getEventForComparing(dateSel,e.getTimeZone(),listUserEvents);

Enumeration eventsCompareKey = hCompareTable.keys();

  while (eventsCompareKey.hasMoreElements()) {
        String compareKey = (String) eventsCompareKey.nextElement();
        Vector compareEventData = (Vector) hCompareTable.get(compareKey);

        if (compareKey.equals(dateSel)) {
               for (int i = 0; i < compareEventData.size(); i++) {
         EventData eCompare = (EventData) compareEventData.elementAt(i);
                       for (int j = 0; j < object.size(); j++) {
                                 EventData eveObject = (EventData) object.elementAt( j )
                                       if (eveObject.getSummary().equals(eCompare.getSummary())) {
                                             syso("equal")
                                        }
                                       else{
                                          //do something
                                       }

我没有得到比较两个向量中的数据有多么糟糕,因为向量具有EventData bean值。

2 个答案:

答案 0 :(得分:1)

您是否始终与lastElement向量的object进行比较?您正在迭代对象的大小,但始终使用向量对象的最后一个元素。

另外,你可能需要改变它:

EventData eveObject = (EventData) object.elementAt( j ); // object.lastElement();

答案 1 :(得分:0)

EventData是否正确覆盖了Object.equals(Object)方法?