2016-03-25 49 views
0

我不確定如何爲使用字符串哈希集的類文件創建getter和setter方法。我是否正確地表示,因爲沒有使用hashset進行索引,getter方法會返回整個集合,並且setter只會將元素添加到集合中?Java中的哈希集問題

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()); 

    } 
} 
+0

你想達到什麼目的?打印HashSet的內容? – Suparna

+0

你爲什麼要創建'Names'類?它解決了什麼目的?你可以簡單地在'main()'方法中創建一個名爲'HashSet'的名字,它將完成同樣的事情。 – Atri

+0

它取決於你的實現,你可以有一個類型爲Set的字段,然後可以爲該字段創建setter。你的類的用戶可以使用setter方法傳遞新的HashSet ()。如果你想添加元素,那麼你可以像你已經做的那樣使用。 –

回答

0

是啊,你是對的。對於Set<Names>您創建addNames()函數的方式是正確的,它在此情況下的行爲與Setter的行爲類似。 Getter很好。

爲了證明這一點,您可以嘗試使用eclipse明確生成此對象的getter/setter。它也將只產生吸氣劑。

用於設置值diff功能是必需的。

0

你的問題有點不清楚,但如果getter方法的目標是返回整組名稱以便打印它,那麼你幾乎就在那裏。

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