我正在尝试打印一个从数据库中获取记录的哈希集,这些记录当前存储在两个单独的ArrayLists中。当我尝试打印出HashSet时,显示以下错误。
这是你的HashSet [nyu.Sorting@378bf509,nyu.Sorting @ 7b23ec81,nyu.Sorting @ 15aeb7ab,nyu.Sorting @ 27d6c5e0,nyu.Sorting @ 7ef20235,nyu.Sorting @ 4f3f5b24,nyu.Sorting @ 6acbcfc0, nyu.Sorting@2d98a335,nyu.Sorting @ 5fd0d5ae,nyu.Sorting @ 16b98e56]
这是我的代码:
public static HashSet<Sorting> t() {
Sorting s = new Sorting();
int TimeNeededOne = 75;
int TimeNeededTwo = 75;
int assignedTimeOne = 0;
int assignedTimeTwo = 0;
HashSet<Sorting> c = new HashSet<Sorting>();
for(int i=0; i<=i1.size()-1; i++)
{
if((assignedTimeOne < TimeNeededOne) && !(assignedTimeOne+ i1.get(i).getLengthMins() > offensiveTimeInMins) )
{
c.add(i1.get(i));
assignedTimeOne += i1.get(i).getLengthMins();
}
}
for(int i=0; i<=i2.size()-1; i++)
{
if((assignedTimeTwo < TimeNeededTwo) && !(assignedTimeTwo + i2.get(i).getLengthMins() > TimeNeededTwo) )
{
c.add(i2.get(i));
assignedTimeTwo += i2.get(i).getLengthMins();
}
}
System.out.println("Training programme :" + c.size());
System.out.println("This is your training programme" + c.toString());
return c;
}
c.size确认有十个条目是正确的,但是来自hashset的记录格式显然存在问题。对此问题的任何帮助将不胜感激。
感谢。
答案 0 :(得分:2)
执行此操作的一种方法是覆盖toString()
类的Sorting
方法以打印其内容:
public class Sorting {
...
@Override
public String toString() {
// Return a String that represents this object
return "...";
}
}
答案 1 :(得分:1)
您需要在toString()
类中覆盖Sorting
方法,例如:
class Sorting {
...
@Override
public String toString() {
// a string representation of Sorting object
}
}
java.util.Iterator
遍历整个集合,每个元素调用toString()
方法。数据记录在java.lang.StringBuilder
中,最后返回其字符串表示。