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

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

?? treemap.java

?? gcc-you can use this code to learn something about gcc, and inquire further into linux,
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
    if (node.right != nil)      {        node = node.right;        while (node.left != nil)          node = node.left;        return node;      }    Node parent = node.parent;    // Exploit fact that nil.right == nil and node is non-nil.    while (node == parent.right)      {        node = parent;        parent = parent.parent;      }    return parent;  }  /**   * Serializes this object to the given stream.   *   * @param s the stream to write to   * @throws IOException if the underlying stream fails   * @serialData the <i>size</i> (int), followed by key (Object) and value   *             (Object) pairs in sorted order   */  private void writeObject(ObjectOutputStream s) throws IOException  {    s.defaultWriteObject();    Node node = firstNode();    s.writeInt(size);    while (node != nil)      {        s.writeObject(node.key);        s.writeObject(node.value);        node = successor(node);      }  }  /**   * Iterate over HashMap's entries. This implementation is parameterized   * to give a sequential view of keys, values, or entries.   *   * @author Eric Blake <ebb9@email.byu.edu>   */  private final class TreeIterator implements Iterator  {    /**     * The type of this Iterator: {@link #KEYS}, {@link #VALUES},     * or {@link #ENTRIES}.     */    private final int type;    /** The number of modifications to the backing Map that we know about. */    private int knownMod = modCount;    /** The last Entry returned by a next() call. */    private Node last;    /** The next entry that should be returned by next(). */    private Node next;    /**     * The last node visible to this iterator. This is used when iterating     * on a SubMap.     */    private final Node max;    /**     * Construct a new TreeIterator with the supplied type.     * @param type {@link #KEYS}, {@link #VALUES}, or {@link #ENTRIES}     */    TreeIterator(int type)    {      // FIXME gcj cannot handle this. Bug java/4695      // this(type, firstNode(), nil);      this.type = type;      this.next = firstNode();      this.max = nil;    }    /**     * Construct a new TreeIterator with the supplied type. Iteration will     * be from "first" (inclusive) to "max" (exclusive).     *     * @param type {@link #KEYS}, {@link #VALUES}, or {@link #ENTRIES}     * @param first where to start iteration, nil for empty iterator     * @param max the cutoff for iteration, nil for all remaining nodes     */    TreeIterator(int type, Node first, Node max)    {      this.type = type;      this.next = first;      this.max = max;    }    /**     * Returns true if the Iterator has more elements.     * @return true if there are more elements     * @throws ConcurrentModificationException if the TreeMap was modified     */    public boolean hasNext()    {      if (knownMod != modCount)        throw new ConcurrentModificationException();      return next != max;    }    /**     * Returns the next element in the Iterator's sequential view.     * @return the next element     * @throws ConcurrentModificationException if the TreeMap was modified     * @throws NoSuchElementException if there is none     */    public Object next()    {      if (knownMod != modCount)        throw new ConcurrentModificationException();      if (next == max)        throw new NoSuchElementException();      last = next;      next = successor(last);      if (type == VALUES)        return last.value;      else if (type == KEYS)        return last.key;      return last;    }    /**     * Removes from the backing TreeMap the last element which was fetched     * with the <code>next()</code> method.     * @throws ConcurrentModificationException if the TreeMap was modified     * @throws IllegalStateException if called when there is no last element     */    public void remove()    {      if (last == null)        throw new IllegalStateException();      if (knownMod != modCount)        throw new ConcurrentModificationException();      removeNode(last);      last = null;      knownMod++;    }  } // class TreeIterator  /**   * Implementation of {@link #subMap(Object, Object)} and other map   * ranges. This class provides a view of a portion of the original backing   * map, and throws {@link IllegalArgumentException} for attempts to   * access beyond that range.   *   * @author Eric Blake <ebb9@email.byu.edu>   */  private final class SubMap extends AbstractMap implements SortedMap  {    /**     * The lower range of this view, inclusive, or nil for unbounded.     * Package visible for use by nested classes.     */    final Object minKey;    /**     * The upper range of this view, exclusive, or nil for unbounded.     * Package visible for use by nested classes.     */    final Object maxKey;    /**     * The cache for {@link #entrySet()}.     */    private Set entries;    /**     * Create a SubMap representing the elements between minKey (inclusive)     * and maxKey (exclusive). If minKey is nil, SubMap has no lower bound     * (headMap). If maxKey is nil, the SubMap has no upper bound (tailMap).     *     * @param minKey the lower bound     * @param maxKey the upper bound     * @throws IllegalArgumentException if minKey &gt; maxKey     */    SubMap(Object minKey, Object maxKey)    {      if (minKey != nil && maxKey != nil && compare(minKey, maxKey) > 0)        throw new IllegalArgumentException("fromKey > toKey");      this.minKey = minKey;      this.maxKey = maxKey;    }    /**     * Check if "key" is in within the range bounds for this SubMap. The     * lower ("from") SubMap range is inclusive, and the upper ("to") bound     * is exclusive. Package visible for use by nested classes.     *     * @param key the key to check     * @return true if the key is in range     */    final boolean keyInRange(Object key)    {      return ((minKey == nil || compare(key, minKey) >= 0)              && (maxKey == nil || compare(key, maxKey) < 0));    }    public void clear()    {      Node next = lowestGreaterThan(minKey, true);      Node max = lowestGreaterThan(maxKey, false);      while (next != max)        {          Node current = next;          next = successor(current);          removeNode(current);        }    }    public Comparator comparator()    {      return comparator;    }    public boolean containsKey(Object key)    {      return keyInRange(key) && TreeMap.this.containsKey(key);    }    public boolean containsValue(Object value)    {      Node node = lowestGreaterThan(minKey, true);      Node max = lowestGreaterThan(maxKey, false);      while (node != max)        {          if (equals(value, node.getValue()))            return true;          node = successor(node);        }      return false;    }    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 SubMap.this.size();          }          public Iterator iterator()          {            Node first = lowestGreaterThan(minKey, true);            Node max = lowestGreaterThan(maxKey, false);            return new TreeIterator(ENTRIES, first, max);          }          public void clear()          {            SubMap.this.clear();          }          public boolean contains(Object o)          {            if (! (o instanceof Map.Entry))              return false;            Map.Entry me = (Map.Entry) o;            Object key = me.getKey();            if (! keyInRange(key))              return false;            Node n = getNode(key);            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;            Object key = me.getKey();            if (! keyInRange(key))              return false;            Node n = getNode(key);            if (n != nil && AbstractSet.equals(me.getValue(), n.value))              {                removeNode(n);                return true;              }            return false;          }        };      return entries;    }    public Object firstKey()    {      Node node = lowestGreaterThan(minKey, true);      if (node == nil || ! keyInRange(node.key))        throw new NoSuchElementException();      return node.key;    }    public Object get(Object key)    {      if (keyInRange(key))        return TreeMap.this.get(key);      return null;    }    public SortedMap headMap(Object toKey)    {      if (! keyInRange(toKey))        throw new IllegalArgumentException("key outside range");      return new SubMap(minKey, toKey);    }    public Set keySet()    {      if (this.keys == null)        // Create an AbstractSet with custom implementations of those methods        // that can be overriden easily and efficiently.        this.keys = new AbstractSet()        {          public int size()          {            return SubMap.this.size();          }          public Iterator iterator()          {            Node first = lowestGreaterThan(minKey, true);            Node max = lowestGreaterThan(maxKey, false);            return new TreeIterator(KEYS, first, max);          }          public void clear()          {            SubMap.this.clear();          }          public boolean contains(Object o)          {            if (! keyInRange(o))              return false;            return getNode(o) != nil;          }          public boolean remove(Object o)          {            if (! keyInRange(o))              return false;            Node n = getNode(o);            if (n != nil)              {                removeNode(n);                return true;              }            return false;          }        };      return this.keys;    }    public Object lastKey()    {      Node node = highestLessThan(maxKey);      if (node == nil || ! keyInRange(node.key))        throw new NoSuchElementException();      return node.key;    }    public Object put(Object key, Object value)    {      if (! keyInRange(key))        throw new IllegalArgumentException("Key outside range");      return TreeMap.this.put(key, value);    }    public Object remove(Object key)    {      if (keyInRange(key))        return TreeMap.this.remove(key);      return null;    }    public int size()    {      Node node = lowestGreaterThan(minKey, true);      Node max = lowestGreaterThan(maxKey, false);      int count = 0;      while (node != max)        {          count++;          node = successor(node);        }      return count;    }    public SortedMap subMap(Object fromKey, Object toKey)    {      if (! keyInRange(fromKey) || ! keyInRange(toKey))        throw new IllegalArgumentException("key outside range");      return new SubMap(fromKey, toKey);    }    public SortedMap tailMap(Object fromKey)    {      if (! keyInRange(fromKey))        throw new IllegalArgumentException("key outside range");      return new SubMap(fromKey, maxKey);    }    public Collection values()    {      if (this.values == null)        // Create an AbstractCollection with custom implementations of those        // methods that can be overriden easily and efficiently.        this.values = new AbstractCollection()        {          public int size()          {            return SubMap.this.size();          }          public Iterator iterator()          {            Node first = lowestGreaterThan(minKey, true);            Node max = lowestGreaterThan(maxKey, false);            return new TreeIterator(VALUES, first, max);          }          public void clear()          {            SubMap.this.clear();          }        };      return this.values;    }  } // class SubMap  } // class TreeMap

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产免费看久久精品| 国产麻豆精品theporn| 亚洲bt欧美bt精品777| 午夜精品福利一区二区蜜股av| 亚洲成人一区二区在线观看| 亚洲伦理在线免费看| 日产国产欧美视频一区精品| 国产精品一区二区男女羞羞无遮挡| av中文一区二区三区| 精品视频免费看| 国产亚洲精品超碰| 一区二区三区日韩欧美| 精品一区二区三区不卡 | 国产一区二区精品在线观看| 成人黄色国产精品网站大全在线免费观看| 在线免费观看成人短视频| 日韩三区在线观看| 最好看的中文字幕久久| 麻豆成人久久精品二区三区小说| 成人性生交大片免费看在线播放| 欧美日韩电影在线播放| 亚洲国产成人在线| 精品在线免费观看| 在线视频观看一区| 欧美激情在线一区二区| 日产欧产美韩系列久久99| 色综合天天综合网天天狠天天| 日韩一区二区三免费高清| 亚洲美女免费视频| 成人网在线免费视频| 日韩手机在线导航| 亚洲国产精品久久久久婷婷884 | k8久久久一区二区三区| 日韩一区二区影院| 亚洲成人午夜电影| 一本大道久久a久久综合| 日本一区二区三区免费乱视频| 毛片av一区二区| 欧美精选在线播放| 亚洲一区二区高清| 日本韩国欧美一区| 中文字幕一区二区三区色视频| 国产一区在线看| 精品国产99国产精品| 久久精品国产久精国产爱| 91精品国产麻豆国产自产在线| 一区二区三区国产| 国产91综合一区在线观看| 亚洲精品在线免费观看视频| 男女男精品视频网| 日韩精品一区二区三区老鸭窝| 亚洲成在线观看| 欧美日韩高清一区二区| 午夜成人免费视频| 88在线观看91蜜桃国自产| 亚洲成人黄色影院| 欧美日韩国产乱码电影| 亚洲成av人片| 制服丝袜一区二区三区| 蜜臀av一区二区| 欧美精品一区二区高清在线观看 | 一区二区三区蜜桃| 色婷婷亚洲综合| 亚洲午夜久久久久久久久久久| 欧美日韩国产精品自在自线| 五月天亚洲婷婷| 日韩免费高清av| 福利电影一区二区| 亚洲欧美日韩小说| 欧美精品色综合| 石原莉奈在线亚洲三区| 在线播放中文一区| 美女在线视频一区| 久久九九全国免费| 色婷婷综合视频在线观看| 午夜免费欧美电影| 久久久久免费观看| 一本大道av伊人久久综合| 午夜成人免费电影| 久久精品欧美一区二区三区不卡| 成人一级黄色片| 午夜精品免费在线观看| 久久精品一区二区三区av| 色噜噜狠狠成人中文综合| 美国欧美日韩国产在线播放| 国产精品视频yy9299一区| 91黄视频在线观看| 久久se精品一区精品二区| 国产精品免费视频一区| 欧美情侣在线播放| 成人h动漫精品一区二| 一区二区成人在线观看| 精品国产免费视频| 91视视频在线直接观看在线看网页在线看| 亚洲va中文字幕| 国产亚洲精品aa午夜观看| 欧美系列亚洲系列| 国产一区二区在线看| 亚洲一区二区在线免费看| 国产午夜亚洲精品理论片色戒| 欧美性色黄大片手机版| 粉嫩久久99精品久久久久久夜| 亚洲高清免费在线| 国产精品国产三级国产普通话99| 日韩欧美的一区二区| 欧美综合视频在线观看| 高清beeg欧美| 久久电影网电视剧免费观看| 一区二区日韩av| 成人免费在线播放视频| 日本一区二区三区在线观看| 欧美色电影在线| 91啦中文在线观看| 成人av网址在线观看| 九九精品一区二区| 爽爽淫人综合网网站| 综合久久一区二区三区| 久久亚洲春色中文字幕久久久| 在线播放欧美女士性生活| 色悠悠久久综合| 国产盗摄女厕一区二区三区| 日韩专区在线视频| 亚洲人xxxx| 中文字幕成人av| 91精品在线免费观看| 91免费国产在线| 成人激情小说网站| 国产精品69毛片高清亚洲| 韩国在线一区二区| 精品一区二区三区蜜桃| 精一区二区三区| 日韩成人一级大片| 亚洲图片欧美色图| 亚洲综合免费观看高清完整版在线| 国产精品久久久久久久午夜片| 国产午夜精品在线观看| 欧美韩日一区二区三区| 国产精品理论在线观看| 国产精品不卡视频| 亚洲色图一区二区三区| 一区二区三区在线观看网站| 玉足女爽爽91| 无码av中文一区二区三区桃花岛| 亚洲国产精品视频| 日韩精品午夜视频| 久久精工是国产品牌吗| 国产真实乱偷精品视频免| 国产一区二区调教| 成人免费高清视频| 91麻豆国产在线观看| 欧美日韩激情一区二区| 欧美一区二区福利在线| 精品88久久久久88久久久| 日本一区二区三区高清不卡| 中文字幕一区二区三区在线不卡 | 久久精品人人爽人人爽| 国产精品久久久一本精品| 一区二区三区四区在线免费观看 | 91精品国产日韩91久久久久久| 日韩视频一区二区| 中文字幕av不卡| 亚洲精品免费在线| 日本美女一区二区三区视频| 狠狠色综合色综合网络| av电影一区二区| 欧美美女一区二区在线观看| 欧美一区二区三区性视频| 国产日韩欧美不卡在线| 一区二区三区.www| 黄页网站大全一区二区| 精品一区二区三区免费播放| 94-欧美-setu| 欧美精品亚洲二区| 国产精品第13页| 国产蜜臀av在线一区二区三区| 一区二区三区四区视频精品免费| 蜜桃av噜噜一区二区三区小说| 日韩av一区二区在线影视| 国产大陆精品国产| 欧美色精品天天在线观看视频| 久久久久久一二三区| 亚洲成人一区在线| bt欧美亚洲午夜电影天堂| 成人动漫视频在线| 欧美性猛交xxxxxx富婆| 国产欧美精品国产国产专区| 亚洲成人av一区二区三区| 国产精品资源在线看| 成人精品高清在线| 制服丝袜亚洲网站| 亚洲欧美一区二区三区极速播放| 亚洲午夜一二三区视频| 成人性色生活片免费看爆迷你毛片| 欧美巨大另类极品videosbest | 日韩欧美国产一区在线观看| 一区二区三区日韩精品| 国产一区二区三区免费看 | 国产一区二区三区黄视频| 日韩美女在线视频| 日日夜夜免费精品|