如何使用for循环将对象值打印到HashSet中?

时间:2016-11-08 00:36:56

标签: java for-loop hashset

我是java的新手,正在进行编程挑战,似乎无法理解其含义:

  1. 使用两个for循环来放置 this 中的所有单词(请记住,您将在WordGroup对象中执行此方法)并将参数WordGroup放入HashSet中。
  2. (假设这个指的是我的一个WordGroups。)

    我已经看到了用于存储对象的for循环的其他示例,但我个人从未这样做过。我只使用for循环迭代数组列表并打印出变量列表。我不知道如何编写这个for循环来执行此指令。这是代码:

    WordGroup类

    package lab5;
    import java.util.HashSet;
    public class WordGroup {
    
    String word;
    
    //Creates constructor which stores a string value in variable "word" and converts this into lower case using the lower case method.
    public WordGroup(String aString) {
        this.word = aString.toLowerCase();
    }
    public String[] getWordArray() {
        String[] wordArray = word.split("-");
        return wordArray;
    }
    
    
    public String getWordSet(WordGroup secondWordGroup) {
    
     HashSet<String> newHashSet = new HashSet<>();
    
     for (WordGroup x : secondWordGroup) {
         newHashSet.put(x);
     }
    
    }
    } 
    

    主要课程

    package lab5;
    
    public class Main{
        public static void main (String[] args) {
            WordGroup firstWordGroup = new WordGroup("You-can-discover-more-about-a-person-in-an-hour-of-plau-tban-in-a-year-of-conversation");
            WordGroup secondWordGroup = new WordGroup ("When-you-play-play-hard-when-you-work-dont-play-at-all");
    
            System.out.println("*****First Array list*****");
            String[] firstWordArray =  firstWordGroup.getWordArray();
            for( String word : firstWordArray) { 
                System.out.println(word);
            }
            System.out.println("*****Second Array list*****");
            String[] secondWordArray =  secondWordGroup.getWordArray();
            for( String word : secondWordArray) { 
                System.out.println(word);
            }
        }   
    }
    

    如果有人可以帮助初学者了解这是什么意思以及如何实现这一点,那将是非常有帮助的,并且非常感谢我自己以及可能有同样问题的其他人。谢谢。附:我知道我的for循环是完全错误的,但我想至少尝试它,而不是在没有真正尝试自己的情况下寻求帮助。

1 个答案:

答案 0 :(得分:0)

它有点不清楚,但我假设getWordSet应该返回您调用的WordGroup对象中的单词集以及您作为输入提供的WordGroup。所以,如果wg1有单词&#34; a&#34;和&#34; b&#34;,和wg2有单词&#34; b&#34;和&#34; c&#34;,然后wg1.getWordSet(wg2)返回包含单词&#34; a&#34;,&#34; b&#34;,&#34; c&#34;的集合。

要完成此任务,您需要执行以下操作:

HashSet<String> newHashSet = new HashSet<>();
for (String word : secondWordGroup.getWordArray())
    newHashSet.add(word);

for (String word : this.getWordArray())
    newHashSet.add(word);