Sports t1 = new Sports("1", "足球");
Sports t2 = new Sports("2", "篮球");
之前我定义了一个泛型类。Set<Sports> s1 =new TreeSet<Sports>();
s1.add(t1);
s1.add(t2);
现在我要输出集合中的所有信息,该用神马方法? 老是报错,错的我晕了。       

解决方案 »

  1.   

    Sports 中重写 toString.
    for(Sports s:s1){
        System.out.println(s);
    }
      

  2.   

    Iterator it = s1.Iterator();while(it.hasNext())
    {
    Sport sport = (Sport) it.next();System.out.println(sport.toString());
    }
      

  3.   

    你使用的TreeSet有排序功能,但所以自定义对象中必须实现Comparable接口,并重写compareTo()方法。
    import java.util.Set;
    import java.util.TreeSet;
    public class Main { public static void main(String[] args) {
    Sports t1 = new Sports("1", "足球");
    Sports t2 = new Sports("2", "篮球");

    Set<Sports> s1 =new TreeSet<Sports>();
    s1.add(t1);
    s1.add(t2);

    for(Sports s:s1){
        System.out.println(s);
    }
    }

    }class Sports implements Comparable {

    String id;
    String kind;

    public Sports(String id, String kind) {
    this.id = id;
    this.kind = kind;
    } @Override
    public String toString() {
    return "Sports [编号 = " + id + ", 种类 = " + kind + "]";
    }

    @Override
    public int compareTo(Object obj) {
    Sports s = (Sports)obj;
    int i = id.compareTo(s.id);
    return (i!=0 ? i : kind.compareTo(s.kind)) ;
    }

    }
      

  4.   

    for(Sports s:s1 ){
        System.out.println(s);
    }