java中的hashsets问题

时间:2016-03-25 18:45:50

标签: java getter

我不确定如何为使用字符串哈希值的类文件创建getter和setter方法。我是否正确地说,因为没有使用哈希集的索引,getter方法将返回整个集合,并且setter只是将一个元素添加到集合中?

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Names {

    // fields 
    private final Set<String> names = new HashSet<String>();

    //methods 
    public void addNames(final String name) {
        names.add(name);   
        System.out.printf("Added %s to names hashset%n", name);  
    }

    // getter methods 
    public Set<String> getNames () { 
        return names; 
    }
}
import java.util.HashSet;
import java.util.Iterator;

public class TestNames {

    public static void main(String[] args) { 

        Names n = new Names();

        n.addNames("Roger");
        n.addNames("Gary");
        n.addNames("Mark");
        n.addNames("Sue");
        n.addNames("Angela");
        n.addNames("Jay");
        n.addNames("Peter");

        System.out.println(getNames());   

    }
}

2 个答案:

答案 0 :(得分:0)

是的,你是对的。对于Set<Names>,您创建addNames()函数的方式是正确的,在这种情况下,它的行为类似于Setter。 Getter很好。

为了证明这一点,您可以尝试使用eclipse显式生成此对象的getter / setter。它也只会产生吸气剂。

设置值diff功能是必需的。

答案 1 :(得分:0)

您的问题有点不清楚,但如果getter方法的目的是返回整个名称集以便您可以打印它,那么您几乎就在那里。

System.out.println(getNames());更改为System.out.println(n.getNames());