Java哈希映射问题。
我学校compsci网站上的测试仪不工作,所以我目前无法测试我的代码。代码中有两个方面我有点困惑,希望您能提供一些帮助。所以我写的代码如下Java哈希映射问题。,java,arraylist,hashmap,Java,Arraylist,Hashmap,我学校compsci网站上的测试仪不工作,所以我目前无法测试我的代码。代码中有两个方面我有点困惑,希望您能提供一些帮助。所以我写的代码如下 public int countPairs(String[] words) { Set <String> pairs = new HashSet<String>(); int noOfPairs= 0; for (String word:words){ Map noOfOccurence
public int countPairs(String[] words) {
Set <String> pairs = new HashSet<String>();
int noOfPairs= 0;
for (String word:words){
Map noOfOccurencesOfEachLetter= getMap(word);
ArrayList<Integer> valuesFromFirstWord = new ArrayList<Integer>(noOfOccurencesOfEachLetter.values());
Collections.sort(valuesFromFirstWord);
java.util.List<String> list = new ArrayList<String>(Arrays.asList(words));
list.remove(word);
String[] oneLessWord = list.toArray(new String[words.length-1]);
for(String secondWord:oneLessWord){
Map secondNoOfOccurencesOfEachLetter = getMap(secondWord);
ArrayList<Integer> valuesFromSecondWord = new ArrayList<Integer>(secondNoOfOccurencesOfEachLetter.values());
Collections.sort(valuesFromSecondWord);
if (valuesFromFirstWord.equals(valuesFromSecondWord)){
noOfPairs+=1;
}
}
}
return noOfPairs/2;
}
或者我需要通过循环使用创建字典中包含的值的列表吗
2) 为了避免在第二个for循环中包含相同的单词,我创建了一个名为onelesbrow的新数组,该数组包含单词的所有元素,但for循环的首字母要遍历的单词除外。这三行代码能做到这一点吗
java.util.List<String> list = new ArrayList<String>(Arrays.asList(words));
list.remove(word);
String[] oneLessWord = list.toArray(new String[words.length-1]);
java.util.List List=newarraylist(Arrays.asList(words));
列表。删除(word);
String[]onelesswigh=list.toArray(新字符串[words.length-1]);
如果有任何反馈,我将不胜感激
非常感谢,
朱奈德
1) 这行代码有效吗?或者我需要通过循环使用创建字典中包含的值的列表吗
这很好。返回一个集合
,并且数组列表
具有允许您将集合
传递给它的
2) 为了避免在第二个for循环中包含相同的单词,我创建了一个名为onelesbrow的新数组,该数组包含单词的所有元素,但for循环的首字母要遍历的单词除外。这三行代码能做到这一点吗
是的,他们正是这样做的。“我学校compsci网站上的测试仪不工作,所以我目前无法测试我的代码”,因此不能代替编译器。这个问题似乎离题了,因为OP没有热情或专业精神来检查他们的代码是否编译。
java.util.List<String> list = new ArrayList<String>(Arrays.asList(words));
list.remove(word);
String[] oneLessWord = list.toArray(new String[words.length-1]);