- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 blueJ 编码,我想做的是:
1.a) 创建 getWordSet()
WordGroup
中的方法其中:
WordGroup
对象作为参数a HashSet<String>
WordGroup
中的所有单词进入HashSet
HashSet<String>
1.b) 在 main
中方法:
getWordSet()
使用两种方法 WordGroup
sHashSet
返回并打印其中的单词2.a) 在 WordGroup
中创建一个方法叫getWordCounts()
其中:
HashMap<String, Integer>
getWordArray()
返回的所有单词并将每个单词放入 HashMap
以及发生的次数HashMap<String, Integer>
2.b) 在 main
中方法:
getWordCounts()
就两个WordGroup
skeySet()
检索键集(映射的字符串部分)WordGroup
s getWordSet()
制作 WordGroup
中所有单词的完整集合的方法sHashSet
打印所有单词的完整列表,以及每个 HashMap
的总计数s到目前为止我的代码:
public class Main{
public static void main(String[] args){
WordGroup wordgroupOne= new WordGroup ("You can discover more about a person in an hour of play than in a year of conversation");
WordGroup wordgroupTwo= new WordGroup ( "When you play play hard when you work dont play at all");
String[] quoteOne = wordgroupOne.getWordArray();
String[] quoteTwo = wordgroupTwo.getWordArray();
for (String words : quoteOne){
System.out.println(words);
}
for (String words : quoteTwo){
System.out.println(words);
}
}
}
WordGroup 类:
import java.util.HashSet;
import java.util.HashMap;
public class WordGroup {
public String words;
public WordGroup (String getWords){
words = getWords.toLowerCase();
}
public String[] getWordArray(){
return words.split(" ");
}
public HashSet<String> getWordSet(){
HashSet<String> set = new HashSet<String>();
for (String words : quoteOne){
words.add(word);
}
return words;
}
public HashMap<String, Integer> getWordCounts() {
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String words : words) {
words.add(word);
}
return HashMap<String, Integer>;
}
}
我已经走到这一步了,但现在我陷入了困境。我不知道如何将数组中的单词放入哈希集和 HashMap 中,以及如何以所需的形式返回它们。附注对于奇怪的问题布局感到抱歉 - 如果不是代码格式,则字符串在哈希集之后会不断消失)
最佳答案
这里有一些基本错误,您需要先解决这些错误,然后才能继续。
我们先看一下这个方法。
public HashSet<String> getWordSet(){
HashSet<String> set = new HashSet<String>();
for (String words : quoteOne){
words.add(word);
}
return words;
}
现在,您还没有将 quoteOne
设置为任何内容,至少在此类中还没有。您希望它是调用 getWordArray()
的返回值。所以最好包含该行
String[] quoteOne = getWordArray();
此方法中的某个位置。
接下来,您将尝试重用变量名称。您在此类中已经有了 words
,因此为了避免混淆,最好为您在循环中迭代的 String
变量使用不同的名称.
现在,您尝试将字符串添加到 words
中,而实际上您想将它们添加到 set
中,因为 set
是您将从该方法返回的东西。因此,除了使用 add
更改行之外,您还需要使用 return
更改行,以使所有内容都匹配。
因此,请仔细考虑每个变量的用途,并确保正确使用每个变量。其中一些类型的错误将被编译器捕获,但这并不是草率使用变量的借口。
实际上有更短的方法可以将数组转换为HashSet
,但我认为如果您尝试首先使用这种方法来使其正确,这将是一个很好的练习。
现在让我们看看下一个方法。
public HashMap<String, Integer> getWordCounts() {
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String words : words) {
words.add(word);
}
return HashMap<String, Integer>;
}
您的基本想法是正确的,但缺少几个关键步骤。首先,就像前面的方法一样,您需要调用 getWordArray()
。但现在,你还需要迈出一步。
当您迭代循环时,您需要使用 get
方法查看 HashMap
,以查看特定单词是否已记录在其中。如果是这样,您需要查看已记录的Integer
,添加一个,然后将其放回 map 中。如果没有,您可以将一些内容放入 map 中,而不进行任何算术。
另外,请注意,向任何类型的 map 添加内容的方法不是 add
,而是 put
,并且它需要两个参数 - key 和值(value)。所以在你的逻辑中的某个时刻,你可能会有这样一行:
map.put(word, 1);
您可以在这次调用中看到键和值。
最后,考虑一下您的 return
语句。您想要返回一个变量,而不是它的类型。你能猜出你将在那里使用哪个变量吗?
祝您顺利完成作业。我试图为您指明正确的方向,但又不会为您做太多的事情。
关于java - 将数组中的单词放入 HashMap 和 HashSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19896467/
我有不同的结构,它们都包含一个 HashMap与 String作为键,但具有不同的值类型。例如,一个结构有一个类型为 HashMap 的成员, 另一个将有一个 HashMap 类型的成员, 等等。 我
我想制作一个包含学生姓名和科目的板,每个学生在每个科目中都有一个成绩(或者没有..他可以离开考试而不写,然后他的案子将是空的)。我只想使用 HashMap。我的意思是,它会是这样的: HashMap>
是否有内存和速度高效的方法来在 HashMap 中动态存储唯一键:值对? key 保证是唯一的,但它们的数量经常变化。插入和删除必须很快。 我所做的是包含有符号距离场的八叉树(非线性/完整)。八叉树经
有谁知道为什么选择通过 LinkedList 而不是另一个 Hashmap 来实现 HashMap 的存储桶。如果桶本身变成了 HashMap,那么 contains 或 get 的时间复杂度似乎是
我想创建一个具有嵌套结构的 HashMap,就像这个复杂的示例: { type: boy name: Phineas father: type: man
这个问题在这里已经有了答案: How do I create a global, mutable singleton? (7 个答案) 关闭 7 年前。 我想要一个可扩展的字典,将 Object 与
HashMap> hm = new HashMap>(); hm.put("Title1","Key1"); for(int i=0;i hm1 = new H
我必须修改当前代码以适应 Spring MVC。我有 HashMap hashmap = new HashMap(); request.setAttribute("dslrErrors", hashm
我正在尝试进行一些错误捕获。 错误应该检查数组的长度是否小于 2,并检查 HashMap 是否包含用户输入的键。 捕获的错误必须仅使用 if 语句,并且必须使用 .length() 方法,并且必须使用
在 stackoverflow 上提出另一个问题后,(Java- Why this program not throwing concurrent Modification exception)我开始
我有两个类,想使用 org.dozer.Mapper( http://dozer.sourceforge.net/ ) 将 Female 对象的属性映射到 Male 对象。 第一类是: public
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
是否有任何方法可以检查 HashMap 是否包含一组特定的键(这些键是在数组中给出的)。当我尝试类似下面的代码时,它返回 false。 map.containsKey(arrayOf("2018-01
跟进我的问题:How To Access hash maps key when the key is an object 我想尝试这样的事情:webSearchHash.put(xfile.getPa
我有一个可扩展的 ListView ,对于每个 child ,我需要有 4 个“额外”或字符串或其他名称来调用它:- 子标题- 描述- 链接1- 链接2 跟着教程,创建 ListView 、不同的 p
我想确保这是正确的,因为如果不正确,它可能会破坏我的应用程序。 我有这个: private static HashMap> balance = new HashMap<>(); 如果我得到这样的值:
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我想做以下事情: 为某个键查找Vec,并将其存储以备后用。 如果它不存在,则为键创建一个空的 Vec,但仍将其保存在变量中。 如何有效地做到这一点?自然地,我认为我可以使用 match: use st
我是一名优秀的程序员,十分优秀!