自己写的练习,但是不知道为什么没有任何结果,并且没有报错啊!
MyTreeSet类
- Java code
package com.work;import java.util.Iterator;import java.util.TreeSet;public class MyTreeSet { /** * @param args */ static TreeSet<Res> tree=new TreeSet<Res>(); MyTreeSet a=new MyTreeSet(); public static void main(String[] args) { // TODO Auto-generated method stub tree.add(new Res("a", 21)); tree.add(new Res("b", 19)); tree.add(new Res("c", 32)); tree.add(new Res("d", 8)); } public void get(){ Iterator<Res> a=tree.iterator(); while (a.hasNext()) { Res res = (Res) a.next(); System.out.println(res.getName()+"-----------"+res.getAge()); } }}
Res类
- Java code
package com.work;class Res implements Comparable<Res> { String name; int age; public Res(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public int compareTo(Res o) { // TODO Auto-generated method stub if (!(o instanceof Res)) { throw new RuntimeException(); } if (this.age == o.age) { return this.name.compareTo(o.name); } else if (this.age - o.age < 0) { return -1; } return 1; } }
------解决方案--------------------
你都没有调用输出结果的语句当然什么都没有呢哦。
------解决方案--------------------
你的程序运行了,java程序运行时从主方法
public static void main(String[] args) {
// TODO Auto-generated method stub
tree.add(new Res("a", 21));
tree.add(new Res("b", 19));
tree.add(new Res("c", 32));
tree.add(new Res("d", 8));
}
开始的,而你的主方法只是给tree集合添加了元素而已。并没有遍历打印tree集合元素,那是应为你没有调用get()方法。当然看不到你想要的结果了。
修改方案一:
修改MyTreeSet .java中的代码为。但一般不会这样写代码。
package com.work;
import java.util.Iterator;
import java.util.TreeSet;
public class MyTreeSet {
/**
* @param args
*/
static TreeSet<Res> tree=new TreeSet<Res>();
MyTreeSet a=new MyTreeSet();
public static void main(String[] args) {
tree.add(new Res("a", 21));
tree.add(new Res("b", 19));
tree.add(new Res("c", 32));
tree.add(new Res("d", 8));
Iterator<Res> a=tree.iterator();
while (a.hasNext()) {
Res res = (Res) a.next();
System.out.println(res.getName()+"-----------"+res.getAge());
}
}
}
修改方案二:
package com.work;
import java.util.Iterator;
import java.util.TreeSet;
public class MyTreeSet {
/**
* @param args
*/
static TreeSet<Res> tree=new TreeSet<Res>();
public static void main(String[] args) {
MyTreeSet a=new MyTreeSet();
tree.add(new Res("a", 21));
tree.add(new Res("b", 19));
tree.add(new Res("c", 32));
tree.add(new Res("d", 8));
a.get();
}
public void get(){
Iterator<Res> a=tree.iterator();
while (a.hasNext()) {
Res res = (Res) a.next();
System.out.println(res.getName()+"-----------"+res.getAge());