TreeMap NavigableMap subMap(K fromKey, boolean fromInclusive,K toKey, boolean toInclusive) Method Example Program


Returns a view of the portion of this map whose keys range from fromKey to toKey. If fromKey and toKey are equal, the returned map is empty unless fromInclusive and toInclusive are both true. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.
The returned map will throw an IllegalArgumentException on an attempt to insert a key outside of its range, or to construct a submap either of whose endpoints lie outside its range.

Program

package com.candidjava;

import java.util.NavigableMap;
import java.util.TreeMap;

/**
 * @author: Hari Haran
 * @discription: The subMap(K fromKey, boolean fromInclusive, K toKey, boolean
 *               toInclusive) method is used to return a view of the portion of
 *               this map whose keys range from fromKey to toKey. If fromKey and
 *               toKey are equal, the returned map is empty unless fromExclusive
 *               and toExclusive are both true. The returned map is backed by
 *               this map, so changes in the returned map are reflected in this
 *               map, and vice-versa.
 */
public class TreeMapSubMap1 {

	public static void main(String[] args) {

		TreeMap<Integer, String> tm = new TreeMap<Integer, String>();
		NavigableMap<Integer, String> tmincl = new TreeMap<Integer, String>();

		tm.put(1, "Anand");
		tm.put(2, "Hari Haran");
		tm.put(8, "Kamal");
		tm.put(4, "Karthikeyan");
		tm.put(5, "Mohan");
		tm.put(6, "Vinoth");
		tm.put(7, "Hari Haran");
		;

		System.out.println("Getting a portion of the map");
		tmincl = tm.subMap(1, true, 3, true);
		System.out.println("Sub map values: " + tmincl);
	}
}

Output

Getting a portion of the map
Sub map values: {1=Anand, 2=Hari Haran}

Explanation

public NavigableMap<K,V> subMap(K fromKey,boolean fromInclusive,K toKey, boolean toInclusive)
Returns a view of the portion of this map whose keys range from fromKey to toKey. If fromKey and toKey are equal, the returned map is empty unless fromInclusive and toInclusive are both true. The returned map is backed by this map, so changes in the returned map are reflected in this map, and vice-versa. The returned map supports all optional map operations that this map supports.
The returned map will throw an IllegalArgumentException on an attempt to insert a key outside of its range, or to construct a submap either of whose endpoints lie outside its range.

Specified by:
subMap in interface NavigableMap<K,V>
Parameters:
fromKey - low endpoint of the keys in the returned map
fromInclusive - true if the low endpoint is to be included in the returned view
toKey - high endpoint of the keys in the returned map
toInclusive - true if the high endpoint is to be included in the returned view
Returns:
a view of the portion of this map whose keys range from fromKey to toKey
Throws:
ClassCastException - if fromKey and toKey cannot be compared to one another using this map's comparator (or, if the map has no comparator, using natural ordering). Implementations may, but are not required to, throw this exception if fromKey or toKey cannot be compared to keys currently in the map.
NullPointerException - if fromKey or toKey is null and this map uses natural ordering, or its comparator does not permit null keys
IllegalArgumentException - if fromKey is greater than toKey; or if this map itself has a restricted range, and fromKey or toKey lies outside the bounds of the range


Related Post

Comments


©candidjava.com