<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FCollections%2FTreeMap</id>
		<title>Java Tutorial/Collections/TreeMap - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FCollections%2FTreeMap"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/TreeMap&amp;action=history"/>
		<updated>2026-04-21T12:10:58Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/TreeMap&amp;diff=4694&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/TreeMap&amp;diff=4694&amp;oldid=prev"/>
				<updated>2010-06-01T05:04:43Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:04, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/TreeMap&amp;diff=4693&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java_Tutorial/Collections/TreeMap&amp;diff=4693&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Cache Map ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*******************************************************************************&lt;br /&gt;
 * Copyright (c) 2007, 2008 IBM Corporation and Others&lt;br /&gt;
 * All rights reserved. This program and the accompanying materials&lt;br /&gt;
 * are made available under the terms of the Eclipse Public License v1.0&lt;br /&gt;
 * which accompanies this distribution, and is available at&lt;br /&gt;
 * http://www.eclipse.org/legal/epl-v10.html&lt;br /&gt;
 *&lt;br /&gt;
 * Contributors:&lt;br /&gt;
 *    Hisashi MIYASHITA - initial API and implementation&lt;br /&gt;
 *    Kentarou FUKUDA - initial API and implementation&lt;br /&gt;
 *******************************************************************************/&lt;br /&gt;
&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.LinkedList;&lt;br /&gt;
import java.util.NoSuchElementException;&lt;br /&gt;
import java.util.SortedMap;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
/**&lt;br /&gt;
 * Utility class for cache map.&lt;br /&gt;
 */&lt;br /&gt;
public class CacheMap extends TreeMap&amp;lt;String, Object&amp;gt; {&lt;br /&gt;
  private static final long serialVersionUID = 6681131647931821052L;&lt;br /&gt;
  private final int maxSize;&lt;br /&gt;
  private final int evictSize;&lt;br /&gt;
  private final LinkedList&amp;lt;Object&amp;gt; accessList = new LinkedList&amp;lt;Object&amp;gt;();&lt;br /&gt;
  /**&lt;br /&gt;
   * Constructor of cache map. If the map exceed the maximum size, the&lt;br /&gt;
   * key/value sets will be removed from map based on specified evict size.&lt;br /&gt;
   * &lt;br /&gt;
   * @param maxSize&lt;br /&gt;
   *            maximum size of the map&lt;br /&gt;
   * @param evictSize&lt;br /&gt;
   *            number of evict object&lt;br /&gt;
   */&lt;br /&gt;
  public CacheMap(int maxSize, int evictSize) {&lt;br /&gt;
    this.maxSize = maxSize;&lt;br /&gt;
    this.evictSize = evictSize;&lt;br /&gt;
  }&lt;br /&gt;
  private void evict() {&lt;br /&gt;
    Iterator&amp;lt;Object&amp;gt; it = accessList.iterator();&lt;br /&gt;
    for (int i = 0; i &amp;lt; evictSize; i++) {&lt;br /&gt;
      if (!it.hasNext())&lt;br /&gt;
        return;&lt;br /&gt;
      Object key = it.next();&lt;br /&gt;
      this.remove(key);&lt;br /&gt;
      it.remove();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  private int searchAccessList(Object key) {&lt;br /&gt;
    return accessList.indexOf(key);&lt;br /&gt;
  }&lt;br /&gt;
  private void accessEntry(Object key) {&lt;br /&gt;
    int idx = searchAccessList(key);&lt;br /&gt;
    if (idx &amp;gt;= 0) {&lt;br /&gt;
      accessList.remove(idx);&lt;br /&gt;
    }&lt;br /&gt;
    accessList.add(key);&lt;br /&gt;
  }&lt;br /&gt;
  public Object put(String key, Object val) {&lt;br /&gt;
    if (size() &amp;gt;= maxSize)&lt;br /&gt;
      evict();&lt;br /&gt;
    accessEntry(key);&lt;br /&gt;
    return super.put(key, val);&lt;br /&gt;
  }&lt;br /&gt;
  public Object get(Object key) {&lt;br /&gt;
    accessEntry(key);&lt;br /&gt;
    return super.get(key);&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Search a key that starts with the specified prefix from the map, and&lt;br /&gt;
   * return the value corresponding to the key.&lt;br /&gt;
   * &lt;br /&gt;
   * @param prefix&lt;br /&gt;
   *            target prefix&lt;br /&gt;
   * @return the value whose key starts with prefix, or null if not available&lt;br /&gt;
   */&lt;br /&gt;
  public Object matchStartsWith(String prefix) {&lt;br /&gt;
    SortedMap&amp;lt;String, Object&amp;gt; smap = super.tailMap(prefix);&lt;br /&gt;
    Object okey;&lt;br /&gt;
    try {&lt;br /&gt;
      okey = smap.firstKey();&lt;br /&gt;
    } catch (NoSuchElementException e) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    if (!(okey instanceof String))&lt;br /&gt;
      return null;&lt;br /&gt;
    String key = (String) okey;&lt;br /&gt;
    // System.err.println(&amp;quot;MSW:&amp;quot; + key + &amp;quot; / &amp;quot; + prefix);&lt;br /&gt;
    if (!key.startsWith(prefix))&lt;br /&gt;
      return null;&lt;br /&gt;
    return super.get(key);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Check if a particular key exists in TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    System.out.println(treeMap.containsKey(&amp;quot;1&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Check if a particular value exists in TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    System.out.println(treeMap.containsValue(&amp;quot;Three&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Head Map from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.SortedMap;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String,String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;5&amp;quot;, &amp;quot;Five&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;4&amp;quot;, &amp;quot;Four&amp;quot;);&lt;br /&gt;
    SortedMap sortedMap = treeMap.headMap(&amp;quot;3&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Head Map Contains : &amp;quot; + sortedMap);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get lowest and highest key stored in TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);    &lt;br /&gt;
    treeMap.put(&amp;quot;4&amp;quot;, &amp;quot;Four&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;5&amp;quot;, &amp;quot;Five&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Lowest key: &amp;quot; + treeMap.firstKey());&lt;br /&gt;
    System.out.println(&amp;quot;Highest key: &amp;quot; + treeMap.lastKey());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Set view of Keys from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    Set st = treeMap.keySet();&lt;br /&gt;
    Iterator itr = st.iterator();&lt;br /&gt;
    while (itr.hasNext()){&lt;br /&gt;
      System.out.println(itr.next());&lt;br /&gt;
    }&lt;br /&gt;
    st.remove(&amp;quot;1&amp;quot;);&lt;br /&gt;
    System.out.println(treeMap.containsKey(&amp;quot;1&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Sub Map from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.SortedMap;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;4&amp;quot;, &amp;quot;Four&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;5&amp;quot;, &amp;quot;Five&amp;quot;);    &lt;br /&gt;
    SortedMap sortedMap = treeMap.subMap(&amp;quot;2&amp;quot;, &amp;quot;5&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;SortedMap Contains : &amp;quot; + sortedMap);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Synchronized Map from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Collections;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap treeMap = new TreeMap();&lt;br /&gt;
    Map map = Collections.synchronizedMap(treeMap);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get Tail Map from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.SortedMap;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;5&amp;quot;, &amp;quot;Five&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;4&amp;quot;, &amp;quot;Four&amp;quot;);&lt;br /&gt;
    SortedMap sortedMap = treeMap.tailMap(&amp;quot;2&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Tail Map Contains : &amp;quot; + sortedMap);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get TreeMap Size ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String, String&amp;gt;();&lt;br /&gt;
    System.out.println(&amp;quot;Size of TreeMap : &amp;quot; + treeMap.size());&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Size of TreeMap after addition : &amp;quot; + treeMap.size());&lt;br /&gt;
    treeMap.remove(&amp;quot;2&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Size of TreeMap after removal : &amp;quot; + treeMap.size());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Iterate through the values of TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Collection;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String, String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    Collection c = treeMap.values();&lt;br /&gt;
    Iterator itr = c.iterator();&lt;br /&gt;
    while (itr.hasNext()){&lt;br /&gt;
      System.out.println(itr.next());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Remove all values from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String,String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    treeMap.clear();&lt;br /&gt;
    System.out.println(treeMap.size());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Remove value from TreeMap ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;String,String&amp;gt; treeMap = new TreeMap&amp;lt;String,String&amp;gt;();&lt;br /&gt;
    treeMap.put(&amp;quot;1&amp;quot;, &amp;quot;One&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;2&amp;quot;, &amp;quot;Two&amp;quot;);&lt;br /&gt;
    treeMap.put(&amp;quot;3&amp;quot;, &amp;quot;Three&amp;quot;);&lt;br /&gt;
    Object obj = treeMap.remove(&amp;quot;2&amp;quot;);&lt;br /&gt;
    System.out.println(obj + &amp;quot; Removed from TreeMap&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  TreeMap Class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A TreeMap is a map that maintains its keys ordered within a balanced, red-black tree.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Creating a TreeMap&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;public TreeMap(): creates an empty TreeMap&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;public TreeMap(Map map): the standard copy constructor&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;public TreeMap(Comparator comp): defines a custom sort order&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;public TreeMap(SortedMap map): accepts a SortedMap for an optimized copy constructor&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  TreeMap&amp;lt;Integer, User defined class&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class ProductDB {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    TreeMap&amp;lt;Integer, Product&amp;gt; db = new TreeMap&amp;lt;Integer, Product&amp;gt;();&lt;br /&gt;
    db.put(1000, new Product(&amp;quot;D&amp;quot;, 350));&lt;br /&gt;
    db.put(1011, new Product(&amp;quot;p&amp;quot;, 15.75));&lt;br /&gt;
    db.put(1102, new Product(&amp;quot;M&amp;quot;, 8.50));&lt;br /&gt;
    db.put(2023, new Product(&amp;quot;A&amp;quot;, 150));&lt;br /&gt;
    db.put(2034, new Product(&amp;quot;T&amp;quot;, 9.99));&lt;br /&gt;
    System.out.println(db.subMap(1000, 1999) + &amp;quot;\n&amp;quot;);&lt;br /&gt;
    System.out.println(db.tailMap(1011) + &amp;quot;\n&amp;quot;);&lt;br /&gt;
    System.out.println(db.headMap(2023));&lt;br /&gt;
    System.out.println(&amp;quot;First key higher than 2034: &amp;quot; + db.higherKey(2034));&lt;br /&gt;
    System.out.println(&amp;quot;First key lower than 2034: &amp;quot; + db.lowerKey(2034));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Product {&lt;br /&gt;
  String desc;&lt;br /&gt;
  double price;&lt;br /&gt;
  Product(String desc, double price) {&lt;br /&gt;
    this.desc = desc;&lt;br /&gt;
    this.price = price;&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return &amp;quot;Description=&amp;quot; + desc + &amp;quot;, Price=&amp;quot; + price;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Viewing Sub Maps ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
SortedSet headMap(Object toKey)&lt;br /&gt;
SortedSet tailMap(Object fromKey)&lt;br /&gt;
SortedSet subMap(Object fromKey, Object toKey)&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;{key1=value1}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Working with End Points ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The firstKey() and lastKey() methods of TreeMap let you quickly access the keys at the end of the map.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you need to traverse a map backwards(keep getting the last key and the head map before it):&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.TreeMap;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] a) {&lt;br /&gt;
    TreeMap map = new TreeMap();&lt;br /&gt;
    map.put(&amp;quot;key1&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;key2&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
    map.put(&amp;quot;key3&amp;quot;, &amp;quot;value3&amp;quot;);&lt;br /&gt;
    if (!map.isEmpty()) {&lt;br /&gt;
      Object last = map.lastKey();&lt;br /&gt;
      boolean first = true;&lt;br /&gt;
      do {&lt;br /&gt;
        if (!first) {&lt;br /&gt;
          System.out.print(&amp;quot;, &amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        System.out.print(last);&lt;br /&gt;
        last = map.headMap(last).lastKey();&lt;br /&gt;
        first = false;&lt;br /&gt;
      } while (last != map.firstKey());&lt;br /&gt;
      System.out.println();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;key3, key2&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>