public class UniquesDupes
{
private ArrayList<String> list;
public UniquesDupes(String input)
{
list = new ArrayList<String>();
String[] words = "abc cde fgh ijk".split(" ");
ArrayList<String> list = new ArrayList<String>(Arrays.asList(words));
}
public Set<String> getUniques()
{
Set<String> uniques = new TreeSet<String>();
for(String a:list)
{
uniques.add(a);
}
return uniques;
}
getuniques不起作用它编译和运行,但它不会添加到树集,我不知道为什么
答案 0 :(得分:1)
假设其他事情正常,
您正在方法范围中创建另一个变量列表
将ArrayList<String> list = new ArrayList<String>(Arrays.asList(words));
更改为
this.list = new ArrayList<String>(Arrays.asList(words));
引用私有变量list
答案 1 :(得分:1)
ArrayList<String> list = new ArrayList<String>(Arrays.asList(words));
此行创建一个名为list
的新变量 ,该变量与原始list
变量无关。
你想要
list = new ArrayList<String>(Arrays.asList(words));
甚至
list.addAll(Arrays.asList(words));