//创建book对象
//Book2 book=new Book2();
//创建TreeMap对象
TreeMap tm=new TreeMap();
tm.put(new Book2("1896-09-01","平方的世界"),"1001");
tm.put(new Book2("2012-12-01","白说"),"1002");
tm.put(new Book2("2014-09-01","创业维艰"),"1003");
//获取迭代器
Set> set=tm.entrySet();
Iterator it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
为什么只添加了一个键值,其他的都没有添加进去,求解,谢谢了
Book2怎么实现的,其中hashCode和equals有没有重写。是否将不同的书名、日期视作不同的书?
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class Book2 implements Comparable
{
public String date; public String name;
public Book2(String s1, String s2)
{
name = s1;
date = s2;
}
public int compareTo(Object o)
{
Book2 b = (Book2)o;
return name.compareTo(b.name);
}
public String toString()
{
return name + "\t" + date;
}
}
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
//创建book对象
//Book2 book=new Book2();
//创建TreeMap对象
TreeMap<Book2,String> tm=new TreeMap<Book2,String>();
tm.put(new Book2("1896-09-01","平方的世界"),"1001");
tm.put(new Book2("2012-12-01","白说"),"1002");
tm.put(new Book2("2014-09-01","创业维艰"),"1003");
//获取迭代器
Set<Map.Entry<Book2,String>> set=tm.entrySet();
Iterator it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
1896-09-01 平方的世界=1001
2012-12-01 白说=1002
2014-09-01 创业维艰=1003
都添加了,都输出了,没问题