13.8 SortedMap 接口
【例 13.40】SortedMap 演示
package jiaqi;
import java.util.*;
class Person_
{
private String name;
private int age;
public Person_(String name,int age)
{
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if(this==obj)return true;
if(!(obj instanceof Person_))return false;
Person_ per = (Person_)obj;
if(this.name.equals(per.name)&&this.age==per.age) return true;
else return false;
}
public int hashCode()
{
return this.name.hashCode()*this.age;
}
public String toString()
{
return this.name+"的age是:"+this.age;
}
}
public class temp {
public static void main(String[] args) {
SortedMap<String,String> allMap = new TreeMap<String,String>();
allMap.put("B","B_");
allMap.put("A","A_");
allMap.put("C","C_1");
allMap.put("C","C_2");
allMap.put("C","C_3");
allMap.put("C","C_4");
allMap.put("E","E_");
allMap.put("D","D_");
System.out.println("第一个元素key内容:"+allMap.firstKey()+"\t"+"value:"+allMap.get(allMap.firstKey()));
System.out.println("最后一个元素key内容:"+allMap.lastKey()+"\t"+"value:"+allMap.get(allMap.lastKey()));
System.out.println("------------------小于C:");
for(Map.Entry<String,String> me:allMap.headMap("C").entrySet())
{
System.out.println("L---"+me.getKey()+"\t"+me.getValue());
}
System.out.println("------------------大于等于C:");
for(Map.Entry<String,String> me:allMap.tailMap("C").entrySet())
{
System.out.println("L---"+me.getKey()+"\t"+me.getValue());
}
System.out.println("------------------部分集合[B-D]:");
for(Map.Entry<String,String> me:allMap.subMap("B","D").entrySet())
{
System.out.println("L---"+me.getKey()+"\t"+me.getValue());
}
}
}
以上规定了很多Map接口中没有的方法,但是如果要想操作以上方法,则对象所在的类必须实现Comparable接口。