Java Vector Difference minus(Vector vectA, Vector vectB)

Here you can find the source of minus(Vector vectA, Vector vectB)

Description

This method returns a Vector containing the elements of vectA minus the elements of vectB.

License

Open Source License

Declaration


public static Vector minus(Vector vectA, Vector vectB) 

Method Source Code


//package com.java2s;
/*// w  w  w  .  ja  v a  2 s . co  m
    
  VectorUtils.java
    
  Convenience methods for working with Vectors.. provides efficient Union,
  Intersection, and Difference methods.
      
  Created: 21 July 1998
  Release: $Name:  $
  Version: $Revision: 1.21 $
  Last Mod Date: $Date: 2002/11/01 02:25:10 $
  Module By: Jonathan Abbey, jonabbey@arlut.utexas.edu
    
  -----------------------------------------------------------------------
          
  Ganymede Directory Management System
    
  Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
  The University of Texas at Austin.
    
  Contact information
    
  Web site: http://www.arlut.utexas.edu/gash2
  Author Email: ganymede_author@arlut.utexas.edu
  Email mailing list: ganymede@arlut.utexas.edu
    
  US Mail:
    
  Computer Science Division
  Applied Research Laboratories
  The University of Texas at Austin
  PO Box 8029, Austin TX 78713-8029
    
  Telephone: (512) 835-3200
    
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
    
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
    
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
    
*/

import java.util.*;

public class Main {
    /**
     * <P>This method returns a Vector containing the elements of vectA minus
     * the elements of vectB.  If vectA has an element in the Vector 5 times
     * and vectB has it 3 times, the result will have it two times.</P>
     *
     * <P>This method will always return a new, non-null Vector, even if
     * vectA and/or vectB are null.</P>
     */

    public static Vector minus(Vector vectA, Vector vectB) {
        Hashtable workSetB = new Hashtable();

        Vector result = new Vector();
        Enumeration Enum;
        Object item;

        /* -- */

        if (vectA == null) {
            return result;
        }

        result = (Vector) vectA.clone();

        if (vectB != null) {
            Enum = vectB.elements();

            while (Enum.hasMoreElements()) {
                item = Enum.nextElement();

                if (result.contains(item)) {
                    result.removeElement(item);
                }
            }
        }

        return result;
    }
}

Related

  1. difference(Vector a, Vector b)
  2. difference(Vector vectA, Vector vectB)