打印集合集

时间:2014-04-23 11:36:13

标签: java collections set

我现在正在学习收藏,从我所学到的东西,我看到Set是一种不允许重复元素的收藏。 好的,我创建了一个类,它为集合添加了三个int数。似乎还可以,但问题是:我怎么能打印这个系列?我知道我可以覆盖String方法,但由于我的元素是整数类型,我怎么能这样做? 我的预期输出是: 2,3,2 4,5,6

代码(添加数字)

public class adaugareNumere {
int c=0;
int f=0;
int r=0;

adaugareNumere(int c, int f, int r){
this.c=c;
this.f=f;
this.r=r;
}


}

主要课程:

import java.util.*;
public class Executare {



public static void main(String[] args) {
    adaugareNumere primulRand=new adaugareNumere(2,3,2);
    adaugareNumere alDoileaRand=new adaugareNumere(2,3,2);
    adaugareNumere alTreileaRand=new adaugareNumere(4,5,6);
    Set<adaugareNumere> lista=new HashSet<adaugareNumere>();
    lista.add(primulRand);
    lista.add(alDoileaRand);
    lista.add(alTreileaRand);
    System.out.println("Elementele listei: "+Arrays.asList(lista.toString()));

}

}

2 个答案:

答案 0 :(得分:4)

您需要覆盖toString()课程中的adaugareNumere方法。

示例:

@Override
public String toString() {
    return "adaugareNumere [c=" + c + ", f=" + f + ", r=" + r + "]";
}

只需在SOP声明中列出清单。

System.out.println("Elementele listei: " + lista); // No need for `Arrays.asList()` or `toString()`.

答案 1 :(得分:2)

从Set中检索值。可以使用迭代器:

Iterator itr    =   lista.iterator();
while(itr.hasNext()){
        System.out.print(itr.next()+",");
    }

但是,由于您尝试将Object放入Set中,因此不允许使用重复对象,但值可以重复