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

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

?? treemap.java

?? 俄羅斯高人Mamaich的Pocket gcc編譯器(運行在PocketPC上)的全部源代碼。
?? 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一区二区三区免费野_久草精品视频
欧美日韩视频在线第一区| 欧美成人伊人久久综合网| 欧美日韩亚洲综合| 26uuu亚洲综合色| 一区二区三区在线观看视频| 精品午夜久久福利影院| 色吊一区二区三区| 国产无人区一区二区三区| 亚洲1区2区3区视频| av亚洲精华国产精华精华| 精品国产污污免费网站入口| 一区二区高清免费观看影视大全| 国产麻豆91精品| 欧美猛男gaygay网站| 亚洲色图欧美在线| 国产精品一级片在线观看| 欧美人妖巨大在线| 亚洲精品久久久蜜桃| 成人av资源站| 国产无一区二区| 国产精品一区在线| 精品久久五月天| 青青草国产成人99久久| 欧美日韩mp4| 亚洲gay无套男同| 欧美日本一区二区三区四区| 亚洲精品高清在线| 99re视频精品| 亚洲欧美日韩国产中文在线| 成人免费高清在线| 国产精品久久久久久久久免费相片| 久久99热这里只有精品| 日韩一区二区三区精品视频| 日韩国产欧美在线播放| 欧美日高清视频| 欧美a级理论片| 日韩无一区二区| 麻豆91在线观看| 精品国产91久久久久久久妲己| 美女网站色91| 亚洲精品一区在线观看| 国产高清在线精品| 国产欧美日韩在线视频| 成人中文字幕合集| 国产精品久久久久久久久晋中| 成人黄色软件下载| 亚洲免费成人av| 欧美午夜电影网| 美女视频黄a大片欧美| 精品免费国产一区二区三区四区| 国内精品写真在线观看| 久久精品一区蜜桃臀影院| 成人激情免费电影网址| 一区二区三区在线免费视频| 欧美日韩一区二区三区在线看| 日本不卡视频一二三区| 久久综合久久久久88| 97精品久久久午夜一区二区三区 | 日韩视频一区二区三区在线播放 | 欧美日韩国产综合一区二区| 日韩精品电影一区亚洲| 久久久午夜精品| 91免费版pro下载短视频| 天天色图综合网| 久久夜色精品国产噜噜av| 99精品偷自拍| 美女任你摸久久| 国产精品欧美一区二区三区| 欧美日韩国产高清一区二区 | 日韩黄色免费电影| 久久久久久夜精品精品免费| 一本大道久久a久久精二百| 日本不卡一区二区三区| 国产精品久久久久桃色tv| 欧美狂野另类xxxxoooo| 成人午夜激情视频| 日韩va欧美va亚洲va久久| 国产精品久久久久影视| 日韩欧美一区二区视频| 91啪亚洲精品| 国产精品538一区二区在线| 亚洲综合一二三区| 欧美激情一区二区三区不卡| 欧美酷刑日本凌虐凌虐| 99综合影院在线| 久久电影网电视剧免费观看| 自拍偷拍国产亚洲| 久久久久国产精品厨房| 69堂精品视频| 91丨porny丨首页| 国产盗摄视频一区二区三区| 亚洲成a人片在线不卡一二三区| 中文字幕精品综合| 精品国产污污免费网站入口| 欧美性猛片xxxx免费看久爱| 成人午夜激情视频| 国产高清在线精品| 精品一区二区三区久久| 日本亚洲最大的色成网站www| 亚洲免费在线观看| 国产精品欧美久久久久无广告| 日韩免费看的电影| 欧美夫妻性生活| 欧美色手机在线观看| 91丨porny丨户外露出| 成人短视频下载| 国产福利电影一区二区三区| 久久99精品国产麻豆婷婷| 日本美女视频一区二区| 亚洲成人动漫一区| 亚洲国产毛片aaaaa无费看| 亚洲男人天堂av| 亚洲女与黑人做爰| 亚洲欧美日韩国产另类专区| 综合欧美一区二区三区| 国产精品久久久久影视| 日韩一区日韩二区| 国产精品毛片久久久久久| 国产午夜精品一区二区三区视频 | 久久先锋影音av鲁色资源网| 精品少妇一区二区三区在线视频 | 99精品欧美一区二区三区小说| 粗大黑人巨茎大战欧美成人| 国产精品1区2区| 成人久久久精品乱码一区二区三区 | 欧美一区二区三区色| 欧美一区二区在线免费观看| 在线综合亚洲欧美在线视频| 91精品蜜臀在线一区尤物| 日韩亚洲欧美成人一区| 精品粉嫩超白一线天av| 久久精品一区蜜桃臀影院| 国产精品人成在线观看免费 | 懂色av一区二区三区蜜臀| 国产成人av影院| 99久久精品免费看国产免费软件| 色综合天天性综合| 欧美三级在线看| 日韩午夜精品电影| 亚洲国产精品精华液2区45| 亚洲欧美色图小说| 亚洲18色成人| 国产毛片一区二区| youjizz久久| 欧美日本在线观看| 久久精品在这里| 伊人性伊人情综合网| 日本视频一区二区三区| 国产福利精品一区二区| 欧美在线视频你懂得| 日韩欧美一级二级三级久久久| 国产日产欧美精品一区二区三区| 中文字幕亚洲成人| 全国精品久久少妇| 99久久久久免费精品国产 | 亚洲一区二区三区四区的| 日产国产高清一区二区三区| 国产在线乱码一区二区三区| 91麻豆6部合集magnet| 欧美大片一区二区三区| 中文字幕中文乱码欧美一区二区| 午夜电影一区二区| 不卡视频一二三| 日韩午夜精品视频| 成人av在线观| 久久免费电影网| 亚洲欧洲av另类| 老司机免费视频一区二区三区| voyeur盗摄精品| 777奇米成人网| 亚洲欧美另类久久久精品2019| 另类调教123区| 欧美色图12p| 《视频一区视频二区| 久久成人精品无人区| 日本久久电影网| 国产欧美久久久精品影院| 麻豆freexxxx性91精品| 欧美综合在线视频| 国产精品日韩精品欧美在线| 精品在线亚洲视频| 4438亚洲最大| 午夜精品一区二区三区电影天堂| voyeur盗摄精品| 中文字幕第一区二区| 精品一区二区三区免费| 7777精品久久久大香线蕉| 亚洲一区二区三区四区中文字幕 | 亚洲成人一区二区| 91浏览器打开| 中文字幕一区二区三区av| 国产成人99久久亚洲综合精品| 欧美一区二区免费视频| 午夜精品久久久久久| 777奇米成人网| 日韩综合小视频| 欧美日韩国产成人在线免费| 亚洲大片在线观看| 欧美在线免费播放| 亚洲电影你懂得|