当前位置: 首页>>代码示例>>Java>>正文


Java TLinkable类代码示例

本文整理汇总了Java中gnu.trove.list.TLinkable的典型用法代码示例。如果您正苦于以下问题:Java TLinkable类的具体用法?Java TLinkable怎么用?Java TLinkable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TLinkable类属于gnu.trove.list包,在下文中一共展示了TLinkable类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: clear

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/** Empties the list. */
public void clear() {
    if ( null != _head ) {
        for ( TLinkable<T> link = _head.getNext();
              link != null;
              link = link.getNext() ) {
            TLinkable<T> prev = link.getPrevious();
            prev.setNext( null );
            link.setPrevious( null );
        }
        _head = _tail = null;
    }
    _size = 0;
}
 
开发者ID:JianpingZeng,项目名称:xcc,代码行数:15,代码来源:TLinkedList.java

示例2: toUnlinkedArray

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/**
 * Copies the list to a native array, destroying the next/previous
 * links as the copy is made.  This list will be emptied after the
 * copy (as if clear() had been invoked).  The Object[] array
 * returned will contain TLinkables that do <b>not</b> hold
 * references to one another and so are less likely to be the
 * cause of memory leaks.
 *
 * @return an <code>Object[]</code> value
 */
public Object[] toUnlinkedArray() {
    Object[] o = new Object[_size];
    int i = 0;
    for ( TLinkable<T> link = _head, tmp; link != null; i++ ) {
        o[i] = link;
        tmp = link;
        link = link.getNext();
        tmp.setNext( null ); // clear the links
        tmp.setPrevious( null );
    }
    _size = 0;              // clear the list
    _head = _tail = null;
    return o;
}
 
开发者ID:JianpingZeng,项目名称:xcc,代码行数:25,代码来源:TLinkedList.java

示例3: contains

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/**
 * A linear search for <tt>o</tt> in the list.
 *
 * @param o an <code>Object</code> value
 * @return a <code>boolean</code> value
 */
public boolean contains( Object o ) {
    for ( TLinkable<T> link = _head; link != null; link = link.getNext() ) {
        if ( o.equals( link ) ) {
            return true;
        }
    }
    return false;
}
 
开发者ID:JianpingZeng,项目名称:xcc,代码行数:15,代码来源:TLinkedList.java

示例4: clear

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/** Empties the list. */
@Override
public void clear() {
    if ( null != _head ) {
        for ( TLinkable<T> link = _head.getNext();
              link != null;
              link = link.getNext() ) {
            TLinkable<T> prev = link.getPrevious();
            prev.setNext( null );
            link.setPrevious( null );
        }
        _head = _tail = null;
    }
    _size = 0;
}
 
开发者ID:palantir,项目名称:trove-3.0.3,代码行数:16,代码来源:TLinkedList.java

示例5: contains

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/**
 * A linear search for <tt>o</tt> in the list.
 *
 * @param o an <code>Object</code> value
 * @return a <code>boolean</code> value
 */
@Override
public boolean contains( Object o ) {
    for ( TLinkable<T> link = _head; link != null; link = link.getNext() ) {
        if ( o.equals( link ) ) {
            return true;
        }
    }
    return false;
}
 
开发者ID:palantir,项目名称:trove-3.0.3,代码行数:16,代码来源:TLinkedList.java

示例6: remove

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/**
 * Removes the specified element from the list.  Note that
 * it is the caller's responsibility to ensure that the
 * element does, in fact, belong to this list and not another
 * instance of TLinkedList.
 *
 * @param o a TLinkable element already inserted in this list.
 * @return true if the element was a TLinkable and removed
 */
@SuppressWarnings({"unchecked"})
public boolean remove( Object o ) {
    if ( o instanceof TLinkable ) {
        T p, n;
        TLinkable<T> link = (TLinkable<T>) o;

        p = link.getPrevious();
        n = link.getNext();

        if ( n == null && p == null ) { // emptying the list
            // It's possible this object is not something that's in the list. So,
            // make sure it's the head if it doesn't point to anything. This solves
            // problems caused by removing something multiple times.
            if ( o != _head ) {
                return false;
            }

            _head = _tail = null;
        } else if ( n == null ) { // this is the tail
            // make previous the new tail
            link.setPrevious( null );
            p.setNext( null );
            _tail = p;
        } else if ( p == null ) { // this is the head
            // make next the new head
            link.setNext( null );
            n.setPrevious( null );
            _head = n;
        } else {            // somewhere in the middle
            p.setNext( n );
            n.setPrevious( p );
            link.setNext( null );
            link.setPrevious( null );
        }

        _size--;            // reduce size of list
        return true;
    } else {
        return false;
    }
}
 
开发者ID:JianpingZeng,项目名称:xcc,代码行数:51,代码来源:TLinkedList.java

示例7: remove

import gnu.trove.list.TLinkable; //导入依赖的package包/类
/**
 * Removes the specified element from the list.  Note that
 * it is the caller's responsibility to ensure that the
 * element does, in fact, belong to this list and not another
 * instance of TLinkedList.
 *
 * @param o a TLinkable element already inserted in this list.
 * @return true if the element was a TLinkable and removed
 */
@Override
@SuppressWarnings("unchecked")
public boolean remove( Object o ) {
    if ( o instanceof TLinkable ) {
        T p, n;
        TLinkable<T> link = (TLinkable<T>) o;

        p = link.getPrevious();
        n = link.getNext();

        if ( n == null && p == null ) { // emptying the list
            // It's possible this object is not something that's in the list. So,
            // make sure it's the head if it doesn't point to anything. This solves
            // problems caused by removing something multiple times.
            if ( o != _head ) {
                return false;
            }

            _head = _tail = null;
        } else if ( n == null ) { // this is the tail
            // make previous the new tail
            link.setPrevious( null );
            p.setNext( null );
            _tail = p;
        } else if ( p == null ) { // this is the head
            // make next the new head
            link.setNext( null );
            n.setPrevious( null );
            _head = n;
        } else {            // somewhere in the middle
            p.setNext( n );
            n.setPrevious( p );
            link.setNext( null );
            link.setPrevious( null );
        }

        _size--;            // reduce size of list
        return true;
    } else {
        return false;
    }
}
 
开发者ID:palantir,项目名称:trove-3.0.3,代码行数:52,代码来源:TLinkedList.java


注:本文中的gnu.trove.list.TLinkable类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。