亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? treemap.java

?? linux下的gcc編譯器
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/* TreeMap.java -- a class providing a basic Red-Black Tree data structure,   mapping Object --> Object   Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package java.util;import java.io.Serializable;import java.io.ObjectOutputStream;import java.io.ObjectInputStream;import java.io.IOException;/** * This class provides a red-black tree implementation of the SortedMap * interface.  Elements in the Map will be sorted by either a user-provided * Comparator object, or by the natural ordering of the keys. * * The algorithms are adopted from Corman, Leiserson, and Rivest's * <i>Introduction to Algorithms.</i>  TreeMap guarantees O(log n) * insertion and deletion of elements.  That being said, there is a large * enough constant coefficient in front of that "log n" (overhead involved * in keeping the tree balanced), that TreeMap may not be the best choice * for small collections. If something is already sorted, you may want to * just use a LinkedHashMap to maintain the order while providing O(1) access. * * TreeMap is a part of the JDK1.2 Collections API.  Null keys are allowed * only if a Comparator is used which can deal with them; natural ordering * cannot cope with null.  Null values are always allowed. Note that the * ordering must be <i>consistent with equals</i> to correctly implement * the Map interface. If this condition is violated, the map is still * well-behaved, but you may have suprising results when comparing it to * other maps.<p> * * This implementation is not synchronized. If you need to share this between * multiple threads, do something like:<br> * <code>SortedMap m *       = Collections.synchronizedSortedMap(new TreeMap(...));</code><p> * * The iterators are <i>fail-fast</i>, meaning that any structural * modification, except for <code>remove()</code> called on the iterator * itself, cause the iterator to throw a * <code>ConcurrentModificationException</code> rather than exhibit * non-deterministic behavior. * * @author Jon Zeppieri * @author Bryce McKinlay * @author Eric Blake <ebb9@email.byu.edu> * @see Map * @see HashMap * @see Hashtable * @see LinkedHashMap * @see Comparable * @see Comparator * @see Collection * @see Collections#synchronizedSortedMap(SortedMap) * @since 1.2 * @status updated to 1.4 */public class TreeMap extends AbstractMap  implements SortedMap, Cloneable, Serializable{  // Implementation note:  // A red-black tree is a binary search tree with the additional properties  // that all paths to a leaf node visit the same number of black nodes,  // and no red node has red children. To avoid some null-pointer checks,  // we use the special node nil which is always black, has no relatives,  // and has key and value of null (but is not equal to a mapping of null).  /**   * Compatible with JDK 1.2.   */  private static final long serialVersionUID = 919286545866124006L;  /**   * Color status of a node. Package visible for use by nested classes.   */  static final int RED = -1,                   BLACK = 1;  /**   * Sentinal node, used to avoid null checks for corner cases and make the   * delete rebalance code simpler. The rebalance code must never assign   * the parent, left, or right of nil, but may safely reassign the color   * to be black. This object must never be used as a key in a TreeMap, or   * it will break bounds checking of a SubMap.   */  static final Node nil = new Node(null, null, BLACK);  static    {      // Nil is self-referential, so we must initialize it after creation.      nil.parent = nil;      nil.left = nil;      nil.right = nil;    }  /**   * The root node of this TreeMap.   */  private transient Node root = nil;  /**   * The size of this TreeMap. Package visible for use by nested classes.   */  transient int size;  /**   * The cache for {@link #entrySet()}.   */  private transient Set entries;  /**   * Counts the number of modifications this TreeMap has undergone, used   * by Iterators to know when to throw ConcurrentModificationExceptions.   * Package visible for use by nested classes.   */  transient int modCount;  /**   * This TreeMap's comparator, or null for natural ordering.   * Package visible for use by nested classes.   * @serial the comparator ordering this tree, or null   */  final Comparator comparator;  /**   * Class to represent an entry in the tree. Holds a single key-value pair,   * plus pointers to parent and child nodes.   *   * @author Eric Blake <ebb9@email.byu.edu>   */  private static final class Node extends AbstractMap.BasicMapEntry  {    // All fields package visible for use by nested classes.    /** The color of this node. */    int color;    /** The left child node. */    Node left = nil;    /** The right child node. */    Node right = nil;    /** The parent node. */    Node parent = nil;    /**     * Simple constructor.     * @param key the key     * @param value the value     */    Node(Object key, Object value, int color)    {      super(key, value);      this.color = color;    }  }  /**   * Instantiate a new TreeMap with no elements, using the keys' natural   * ordering to sort. All entries in the map must have a key which implements   * Comparable, and which are <i>mutually comparable</i>, otherwise map   * operations may throw a {@link ClassCastException}. Attempts to use   * a null key will throw a {@link NullPointerException}.   *   * @see Comparable   */  public TreeMap()  {    this((Comparator) null);  }  /**   * Instantiate a new TreeMap with no elements, using the provided comparator   * to sort. All entries in the map must have keys which are mutually   * comparable by the Comparator, otherwise map operations may throw a   * {@link ClassCastException}.   *   * @param comparator the sort order for the keys of this map, or null   *        for the natural order   */  public TreeMap(Comparator c)  {    comparator = c;  }  /**   * Instantiate a new TreeMap, initializing it with all of the elements in   * the provided Map.  The elements will be sorted using the natural   * ordering of the keys. This algorithm runs in n*log(n) time. All entries   * in the map must have keys which implement Comparable and are mutually   * comparable, otherwise map operations may throw a   * {@link ClassCastException}.   *   * @param map a Map, whose entries will be put into this TreeMap   * @throws ClassCastException if the keys in the provided Map are not   *         comparable   * @throws NullPointerException if map is null   * @see Comparable   */  public TreeMap(Map map)  {    this((Comparator) null);    putAll(map);  }  /**   * Instantiate a new TreeMap, initializing it with all of the elements in   * the provided SortedMap.  The elements will be sorted using the same   * comparator as in the provided SortedMap. This runs in linear time.   *   * @param sm a SortedMap, whose entries will be put into this TreeMap   * @throws NullPointerException if sm is null   */  public TreeMap(SortedMap sm)  {    this(sm.comparator());    int pos = sm.size();    Iterator itr = sm.entrySet().iterator();    fabricateTree(pos);    Node node = firstNode();    while (--pos >= 0)      {        Map.Entry me = (Map.Entry) itr.next();        node.key = me.getKey();        node.value = me.getValue();        node = successor(node);      }  }  /**   * Clears the Map so it has no keys. This is O(1).   */  public void clear()  {    if (size > 0)      {        modCount++;        root = nil;        size = 0;      }  }  /**   * Returns a shallow clone of this TreeMap. The Map itself is cloned,   * but its contents are not.   *   * @return the clone   */  public Object clone()  {    TreeMap copy = null;    try      {        copy = (TreeMap) super.clone();      }    catch (CloneNotSupportedException x)      {      }    copy.entries = null;    copy.fabricateTree(size);    Node node = firstNode();    Node cnode = copy.firstNode();    while (node != nil)      {        cnode.key = node.key;        cnode.value = node.value;        node = successor(node);        cnode = copy.successor(cnode);      }    return copy;  }  /**   * Return the comparator used to sort this map, or null if it is by   * natural order.   *   * @return the map's comparator   */  public Comparator comparator()  {    return comparator;  }  /**   * Returns true if the map contains a mapping for the given key.   *   * @param key the key to look for   * @return true if the key has a mapping   * @throws ClassCastException if key is not comparable to map elements   * @throws NullPointerException if key is null and the comparator is not   *         tolerant of nulls   */  public boolean containsKey(Object key)  {    return getNode(key) != nil;  }  /**   * Returns true if the map contains at least one mapping to the given value.   * This requires linear time.   *   * @param value the value to look for   * @return true if the value appears in a mapping   */  public boolean containsValue(Object value)  {    Node node = firstNode();    while (node != nil)      {        if (equals(value, node.value))          return true;        node = successor(node);      }    return false;  }  /**   * Returns a "set view" of this TreeMap's entries. The set is backed by   * the TreeMap, so changes in one show up in the other.  The set supports   * element removal, but not element addition.<p>   *   * Note that the iterators for all three views, from keySet(), entrySet(),   * and values(), traverse the TreeMap in sorted sequence.   *   * @return a set view of the entries   * @see #keySet()   * @see #values()   * @see Map.Entry   */  public Set entrySet()  {    if (entries == null)      // Create an AbstractSet with custom implementations of those methods      // that can be overriden easily and efficiently.      entries = new AbstractSet()      {        public int size()        {          return size;        }        public Iterator iterator()        {          return new TreeIterator(ENTRIES);        }        public void clear()        {          TreeMap.this.clear();        }        public boolean contains(Object o)        {          if (! (o instanceof Map.Entry))            return false;          Map.Entry me = (Map.Entry) o;          Node n = getNode(me.getKey());          return n != nil && AbstractSet.equals(me.getValue(), n.value);      }        public boolean remove(Object o)        {          if (! (o instanceof Map.Entry))            return false;          Map.Entry me = (Map.Entry) o;          Node n = getNode(me.getKey());          if (n != nil && AbstractSet.equals(me.getValue(), n.value))            {              removeNode(n);              return true;            }          return false;        }      };    return entries;  }  /**   * Returns the first (lowest) key in the map.   *   * @return the first key   * @throws NoSuchElementException if the map is empty   */  public Object firstKey()  {    if (root == nil)      throw new NoSuchElementException();    return firstNode().key;  }  /**   * Return the value in this TreeMap associated with the supplied key,   * or <code>null</code> if the key maps to nothing.  NOTE: Since the value   * could also be null, you must use containsKey to see if this key   * actually maps to something.   *   * @param key the key for which to fetch an associated value   * @return what the key maps to, if present   * @throws ClassCastException if key is not comparable to elements in the map   * @throws NullPointerException if key is null but the comparator does not   *         tolerate nulls   * @see #put(Object, Object)   * @see #containsKey(Object)   */  public Object get(Object key)  {    // Exploit fact that nil.value == null.    return getNode(key).value;  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久亚洲伦| 不卡一区在线观看| 欧美一区二区久久| 麻豆免费精品视频| 精品国产免费一区二区三区四区| 国产精品一级在线| 久久免费看少妇高潮| 免费高清视频精品| 精品久久久久久无| 粉嫩av一区二区三区在线播放| 91久久精品一区二区三区| 亚洲另类在线制服丝袜| 欧美亚洲综合久久| 久久激情五月婷婷| 中文字幕不卡三区| 欧美专区亚洲专区| 日韩精品欧美精品| 欧美国产亚洲另类动漫| 97久久超碰精品国产| 日韩精品一区第一页| 久久精品视频在线免费观看| 色综合天天性综合| 日本三级亚洲精品| 国产精品久久久久久久久晋中 | 亚洲图片欧美色图| 欧美日韩黄视频| 国产精品一区二区在线播放 | 成人sese在线| 午夜精品福利在线| 国产欧美一区二区精品性色 | 亚洲猫色日本管| 日韩视频免费直播| 国产精品一区二区三区乱码| 亚洲在线成人精品| 久久一区二区三区国产精品| 欧美自拍偷拍一区| 国产自产v一区二区三区c| 亚洲色欲色欲www| 精品黑人一区二区三区久久| 91福利视频在线| 国产成人在线电影| 奇米影视在线99精品| 亚洲四区在线观看| 国产亚洲欧美一区在线观看| 欧美日韩高清在线| 91麻豆国产福利在线观看| 国产一区二区三区电影在线观看| 欧美va在线播放| 一本高清dvd不卡在线观看| 韩国成人福利片在线播放| 亚洲图片欧美一区| 亚洲欧美综合色| 国产欧美日韩在线看| 日韩欧美在线1卡| 欧美三级欧美一级| 色吊一区二区三区| 北条麻妃国产九九精品视频| 国产精品亚洲一区二区三区在线| 久久久国产精品午夜一区ai换脸| 国产毛片精品国产一区二区三区| 久久这里只精品最新地址| 在线观看日韩精品| 91蜜桃网址入口| 成人黄色国产精品网站大全在线免费观看| 日本一区二区免费在线| 精品少妇一区二区| 日韩一区二区三区免费观看| 欧美手机在线视频| 欧美性猛交xxxxxxxx| 色哟哟日韩精品| 91麻豆自制传媒国产之光| 国产成人8x视频一区二区| 国产真实乱子伦精品视频| 免费观看在线综合色| 毛片一区二区三区| 久久69国产一区二区蜜臀| 美女久久久精品| 激情深爱一区二区| 国产一区二区三区久久悠悠色av| 亚洲女子a中天字幕| 亚洲人吸女人奶水| 日韩一区日韩二区| 综合电影一区二区三区 | 亚洲3atv精品一区二区三区| 亚洲柠檬福利资源导航| 亚洲人成影院在线观看| 一区二区在线观看视频在线观看| 日韩欧美在线123| 精品久久久久久久久久久久久久久久久 | 99久久夜色精品国产网站| 成人三级在线视频| 91网站在线播放| 欧美日韩精品久久久| 欧美岛国在线观看| 国产日本欧洲亚洲| 亚洲摸摸操操av| 亚洲 欧美综合在线网络| 久久精品国产色蜜蜜麻豆| 国产电影一区在线| 99久久综合精品| 欧美日韩在线不卡| 欧美精品一区在线观看| 欧美国产成人在线| 夜色激情一区二区| 久久机这里只有精品| 成人黄页毛片网站| 911国产精品| 亚洲国产精品国自产拍av| 有坂深雪av一区二区精品| 日韩精品电影在线观看| 国产91精品免费| 欧亚一区二区三区| 精品国产一区二区三区av性色| 在线精品视频免费观看| 欧美日韩国产美女| 国产亚洲精品aa| 亚洲综合小说图片| 国产精品白丝jk白祙喷水网站| 美腿丝袜亚洲色图| aa级大片欧美| 日韩网站在线看片你懂的| 综合在线观看色| 久久精品国产亚洲5555| 在线观看网站黄不卡| 欧美不卡一二三| 亚洲自拍偷拍综合| 成人一区二区三区视频 | 亚洲欧美在线高清| 久久99国产乱子伦精品免费| 成人综合在线观看| 日韩精品专区在线| 亚洲午夜久久久久久久久电影网 | 色婷婷久久久久swag精品| 欧美mv和日韩mv国产网站| 有码一区二区三区| 国产一区二区福利视频| 欧美高清视频一二三区| 中文字幕佐山爱一区二区免费| 日韩毛片精品高清免费| 国产一区二区三区精品欧美日韩一区二区三区 | 精品在线播放免费| 99re在线精品| 国产人成一区二区三区影院| 天天影视涩香欲综合网| 91一区二区在线观看| 国产拍欧美日韩视频二区| 狠狠色综合色综合网络| 7777精品久久久大香线蕉| 亚洲综合久久久久| 91美女片黄在线| 亚洲乱码国产乱码精品精小说| 亚洲免费观看在线观看| 国产不卡视频一区二区三区| 精品日韩一区二区三区| 日日噜噜夜夜狠狠视频欧美人| 男女激情视频一区| 欧美日韩免费高清一区色橹橹| 欧美日韩国产精选| 亚洲制服丝袜av| 91网页版在线| 亚洲精选一二三| 色综合久久综合网欧美综合网 | 午夜视频在线观看一区| 色婷婷综合久色| 亚洲人精品午夜| youjizz久久| 亚洲天天做日日做天天谢日日欢| 亚洲国产欧美在线人成| 欧美曰成人黄网| 亚洲综合丝袜美腿| 欧美久久一二区| 亚洲成av人在线观看| 欧美日韩国产美| 蜜桃久久久久久久| 久久蜜桃av一区二区天堂| 国产精品1区2区| 自拍偷拍国产亚洲| 日本精品视频一区二区三区| 亚洲一级二级在线| 欧美精品 国产精品| 免费观看久久久4p| 久久精品在这里| 99久久免费国产| 五月婷婷久久丁香| 欧美成人官网二区| 成人精品国产一区二区4080| 成人欧美一区二区三区在线播放| 蜜臀av亚洲一区中文字幕| 日韩欧美黄色影院| 国产成人精品亚洲777人妖| 《视频一区视频二区| 欧美视频在线观看一区二区| 日本午夜精品一区二区三区电影| 91福利视频在线| 麻豆精品视频在线观看免费| 国产女同性恋一区二区| 在线观看欧美日本| 欧美aaa在线| 国产精品传媒入口麻豆| 69堂成人精品免费视频|