1 TreeMap对象的value所存放的对象必须要实现Comparable接口,也就是说你的Cat类必须实现Comparable接口.
2 Iterator中存放的是Entry<Mouse, Cat>类型的数据,那么每调用一次next()方法,所返回的结果都需要用Entry<Mouse, Cat>类型的变量来接收.
现在是给你修改后的代码:- public static void main(String[] args) {
- // 由于TreeMap要求放在value位置的类,必须要实现Comparable接口,所以这里我就用HashMap了.
- Map<Mouse, Cat> map = new HashMap<Mouse, Cat>();
- Cat cat1 = new Cat("234", 23);
- Cat cat2 = new Cat("322", 12);
- Mouse mou1 = new Mouse("ww", 43);
- Mouse mou2 = new Mouse("fw", 23);
- map.put(mou1, cat1);
- map.put(mou2, cat2);
- Set<Entry<Mouse, Cat>> kets = map.entrySet();
- // Iterator中存放的是Entry<Mouse, Cat>类型的数据,那么每调用一次next()方法,
- // 所返回的结果都需要用Entry<Mouse, Cat>类型的变量来接收.
- Iterator<Entry<Mouse, Cat>> it = kets.iterator();
- Entry<Mouse, Cat> next = null;
- while (it.hasNext()) {
- next = it.next();
- // 通过getKey()方法和getValue()方法直接取得Map中的key与value的内容.
- System.out.println(next.getKey() + "****" + next.getValue());
- }
- }
复制代码 |