Newer
Older
/* FastVector.java
*
* created: Sun Feb 20 2000
*
* This file is part of Artemis
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/util/FastVector.java,v 1.4 2006-08-09 16:35:31 tjc Exp $
*/
package uk.ac.sanger.artemis.util;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Collections;
/**
* This class implements a Vector of Objects with a fast version of
* contains().
*
* @author Kim Rutherford <kmr@sanger.ac.uk>
* @version $Id: FastVector.java,v 1.4 2006-08-09 16:35:31 tjc Exp $
public boolean add(Object object)
else if(contains(object))
throw new Error("internal error - object added a second time");
public Object lastElement()
/**
* Insert an Object after another.
* @param old_object The new_object will be inserted after this object
* or at the start if old_object isn't in the vector.
* @param new_object The new object to insert.
**/
public void insertElementAfter(Object old_object, Object new_object)
if(old_object_index == -1)
* Replace the Object at the given index. (Performs the same function as
public void setElementAt(final Object object, final int index)
}
/**
* Return a sorted copy of this vector.
* @param cmp The returned vector will be sorted with this Comparator.
**/
public FastVector mysort(final Comparator cmp)