我试图在Collections.addAll()
方法中使用构建,但无法通过嵌套数据结构找出正确的方法。任何有关该领域的方向或文件都将不胜感激。
private Map<String, Set<Integer>> index;
index = new HashMap<String, Set<Integer>>();
if (index.containsKey(word) == false)
{
index.put(word, new HashSet<>());
}
public void addAll(String[] words)
{
// TODO Fill this in.
for (String wordIndex : words)
{
wordIndex = clean(wordIndex);
if (!index.containsKey(wordIndex))
{
}
}
// Collections.addAll(words, index);
// for (String word : index.keySet())
// {
// System.out.printf("%d", word);
//
// for (Integer position : index.get(word))
// {
// System.out.printf(", %s", position);
//
// // add each word/position pair.
// index.get(word).add(position);
//
// }
// System.out.printf("%n");
//
// }
}
答案 0 :(得分:0)
您要做的是什么:
根据您的代码片段,我模糊地确定您正在尝试使用addAll将字符串数组(String [])添加到字符串列表中 集合类中的方法
问题:
在您的代码中,您使用了//Collections.addAll(words,index)。 查明这是否有效的最佳方法是参考JAVA SDK API。
我已从文档中复制了以下代码段;
public static boolean addAll(Collection c, T ...元素)
如果你看一下上面的内容;
a)addAll的第一个参数采用扩展Collection Interface的任何数据结构。(LIST,SET,..等) 在您的示例中,这可以是LIST l = new ArrayList()
b)addALL的第二个参数采用您在a)中使用的Collection类型的值数组 在你的例子中,这可以是新的String a = new String [] {&#34; a&#34; ,&#34; b&#34; &#34; C&#34;}
<强>解决方案强>:
在你的addAll方法中,执行以下操作;
列表s =新的ArrayList() Collections.addAll(s,words)