java中哈希集的问题

java中哈希集的问题,java,getter,Java,Getter,我不确定如何为使用字符串哈希集的类文件创建getter和setter方法。我说的对吗?因为hashset没有索引,getter方法将返回整个集合,setter只需向集合中添加一个元素 import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Names { // fields private final Set<String> names = n

我不确定如何为使用字符串哈希集的类文件创建getter和setter方法。我说的对吗?因为hashset没有索引,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; 
    }
}

是的,你说得对。对于
Set
而言,您创建
addNames()
函数的方式是正确的,其行为与本例中的Setter类似。 盖特很好

为了证明这一点,您可以尝试使用eclipse显式地生成该对象的getter/setter。它还将只生成getter


设置值diff函数是必需的。

您的问题有点不清楚,但是如果getter方法的目的是返回整个名称集以便打印它,那么您就差不多做到了


更改
System.out.println(getNames())
to
System.out.println(n.getNames())

您想要实现什么?打印哈希集的内容?为什么还要创建
Names
类?它解决了什么问题?您只需在
main()
方法中创建一个名为
HashSet
的方法,该方法将执行完全相同的操作。这取决于您的实现,您可以拥有一个类型为Set的字段,然后可以为该字段创建setter。类的用户可以使用setter方法传递新的HashSet()。如果你想添加元素,那么你可以像以前一样使用。我不完全理解你的问题,但我想这取决于你想要实现什么。getter和setter用于修改和检索字段值,因此严格地说,您将有一个setNames和getNames,但是您的类的用途是什么?正如另一个人所解释的,您可以直接使用hashset。另外,我被要求编写这个程序的方式是使用类和对象。这是因为我不只是用主要的方法来做这一切。
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());   

    }
}