我现在正在学习收藏,从我所学到的东西,我看到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()));
}
}
答案 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中,因此不允许使用重复对象,但值可以重复