【发布时间】:2016-01-28 04:53:34
【问题描述】:
所以我必须做出两种方法:
void setUnique( boolean value)
boolean getUnique()
setUnique允许客户端设置是否允许重复(true表示不允许重复,false表示允许重复,
getUnique 是返回唯一的当前设置
我的任务是我必须创建一个SortedIntList。 java 和 SortedIntListTest.java ,当我测试我的列表时,我必须包含这两种方法。
这是我目前所拥有的,我已经知道它不正确,因为它到处都有错误:
public void setUnique(boolean value)
{
if(!list.contains(value))
{
list.add(value);
return index == true;
}
else
{
return index == false;
}
}
public boolean getUnique()
{
//return value ;
}
现在我看到人们使用 hashset 方法。但是,我们还没有在课堂上学到这一点,所以很可能不允许使用它。我被困在这一点上,真的很想在另一种方式上得到帮助,现在允许在不使用 hashset 方法的情况下将重复项放入数组列表中
【问题讨论】:
-
覆盖 add 方法。 Setter 和 getter 只是设置/获取字段,您应该像
private boolean allowsDuplicates一样自我描述 -
从您的代码看来,setUnique() 用于指示底层列表是否可以具有重复值,而 getUnqiue() 基本上表示当前状态。如果您最初允许重复但随后切换到唯一状态会发生什么情况,然后您会删除重复项吗?
-
你们能写出一个程序示例吗?这样我就有了更好的主意。
-
如果我正确理解了您的问题,您必须编写一个 SortedIntList 类,该类可以选择允许或不允许重复。正如@AnupamSaini 所述,当您从非唯一切换到唯一时会发生什么。
标签: java arraylist hashset sortedlist