java 集合 TreeMap 键是对象,TreeMap中要重写compareTo方法
2015-11-25 15:01
309 查看
import java.util.TreeMap;
//键是对象,TreeMap中要重写compareTo(对应着要重写toString方法)方法,否则会出现异常;
public class TreeMapdemo
{
public static void main(String[] args)
{
TreeMap<Hero, String> map = new TreeMap<Hero, String>(); //声明Map对象;
map.put(new Hero("a", 22), "1");//增加元素;
map.put(new Hero("c", 34), "2");
map.put(new Hero("b", 24), "3");
System.out.println(map);
//输出内容;
System.out.println(map.firstEntry()); //输出一个元素;
}
}
class Hero implements Comparable<Hero> //实现Comparable接口;
{
String name;
Integer age;
public Hero(String name, Integer age)
{
this.name = name;
this.age = age;
}
@Override
public String toString() //重写toString方法;
{
return "name=" + this.name + " age=" + this.age + " String";
}
@Override
public int compareTo(Hero h)
//重写compareTo方法;
{
int num = 0;
int s = this.name.compareTo(h.name);
if(s>0)
{
num = 1;
}
else if(s<0)
{
num = -1;
}
else
{
num = this.age>h.age?1:(this.age==h.age?0:-1);
}
return num;
}
}
//键是对象,TreeMap中要重写compareTo(对应着要重写toString方法)方法,否则会出现异常;
public class TreeMapdemo
{
public static void main(String[] args)
{
TreeMap<Hero, String> map = new TreeMap<Hero, String>(); //声明Map对象;
map.put(new Hero("a", 22), "1");//增加元素;
map.put(new Hero("c", 34), "2");
map.put(new Hero("b", 24), "3");
System.out.println(map);
//输出内容;
System.out.println(map.firstEntry()); //输出一个元素;
}
}
class Hero implements Comparable<Hero> //实现Comparable接口;
{
String name;
Integer age;
public Hero(String name, Integer age)
{
this.name = name;
this.age = age;
}
@Override
public String toString() //重写toString方法;
{
return "name=" + this.name + " age=" + this.age + " String";
}
@Override
public int compareTo(Hero h)
//重写compareTo方法;
{
int num = 0;
int s = this.name.compareTo(h.name);
if(s>0)
{
num = 1;
}
else if(s<0)
{
num = -1;
}
else
{
num = this.age>h.age?1:(this.age==h.age?0:-1);
}
return num;
}
}
相关文章推荐
- java.net.Socket
- leetcode_java_nim game
- JAVA GC新时代 老年代
- 选择排序的Java实现
- java.util之Iterable与Iterator
- spring中使用mockito
- spring事务的传播行为
- Java中遭遇NaN
- Spring实战(一)
- Java NIO (四) Scatter/Gather
- Android Studio逆向工程——向Eclipse迁移
- Java中基本的数学函数
- spring mvc Controller
- Java注解
- Eclipse快捷键 10个最有用的快捷键
- struts2 错误总结 自己会不断更新中。。。。。
- java.io.tmpdir 所指地址
- Java中需要注意的3个常见集合错误
- 【java基础】JPA详解(part2)
- java怎么把数据库的内容导出到excel表里面