使用字符串Integer映射ArrayList和另一个内部Map

布莱恩

编辑:我只是将TreeMap更改为HashMap,现在它可以正常工作了,但仍然无法满足我的需要。

嘿,这是我坚持了很长时间的事情。

我的目标是从文件中获取文本sequence.txt,然后调用传递扫描器s和整数的构造函数n在构造函数内部,我的目标是nsequenceArrayList中读取单词并将其保存,然后内部映射应该能够紧接单词序列后立即n提取单词,并计数n + thisWord存在的次数。

因此,一个示例将是这n个(或5个)单词:

so an to me for

然后第六个可能是and,因此在原始地图中它将是:

map.put(arrList,innerMap);

其中arrList将被包含so, an, to, me, for,而innerMap看起来像这样and | 1

然后从那里开始,每增加一个新对象,对于相同的序列,它将使整数增加一。我会担心第二部分,但是我什至无法使我的代码正常工作,而且我不知道自己做错了什么。这是我的构造函数:

public RandomWriter(Scanner s, int n) {
        Map<String, Integer> valMap = new HashMap<String, Integer>();
        this.s = s;
        this.n = n;
        map = new HashMap<>(); `

        Queue<String> tmp = new LinkedList<String>();
        for (int i = 0; i < n; i++) {
            tmp.add(s.next());
        }

        while (s.hasNext()) {
            ArrayList<String> tmpList = new ArrayList<String>();
            tmpList.addAll(tmp);
            String current = s.next();

            if (!valMap.containsKey(current)) {
                valMap.put(current, 1);

            } else {
                valMap.put(current, valMap.get(current + 1));
            }

            tmp.add(current);
            tmp.remove();
            map.put(tmpList, valMap);
        }

       // s.next();
        System.out.println(map.keySet());
    }

更改为HashMap后,它现在如下打印:

[[today, day], [me, and], [so, if], [in, for], [for, you], [top, in], [sent, receive], [for, many], [on, top], [or, on], [do, do], [side, so], [so, when], [under, on], [many, much], [to, do], [row, on], [for, when], [when, become], [dog, house], [toy, your], [many, is], [won, do], [become, inside], [why, to], [to, spell], [me, you], [school, under], [too, your], [hit, high], [can, do], [is, to], [for, how], [receive, get], [on, me], [animal, your], [to, animal], [inside, to], [your, for], [cat, many], [who, me], [spell, word], [do, cat], [house, live], [how, can], [your, who], [word, sent], [to, today], [canvas, word], [on, for], [low, ball], [which, many], [animal, if], [much, mouse], [live, living], [your, sent], [if, how], [high, kill], [ball, hit], [if, so], [in, side], [get, which], [you, if], [so, for], [do, if], [get, toy], [so, row], [if, to], [to, if], [win, won], [how, when], [inside, in], [dog, squirrel], [you, to], [and, you], [so, or], [word, school], [mouse, for], [for, why], [day, dog], [squirrel, fish], [your, if], [cat, dog], [for, which], [to, when], [more, for], [to, your], [which, cat], [living, canvas], [kill, win], [you, low], [when, inside], [fish, animal], [do, so], [many, more], [to, too], [when, to]]

这是它正在进入的地图:

private Map<ArrayList<String>, Map<String, Integer>> map;

他们是

这是错误的:

        if (!valMap.containsKey(current)) {
            valMap.put(current, 1);

        } else {
            valMap.put(current, valMap.get(current + 1));
        }

您可能想要:

        if (!valMap.containsKey(current)) {
            valMap.put(current, 1);

        } else {
            valMap.put(current, valMap.get(current) + 1);
        }

由于如果映射包含key current,那么您要添加1到该key的值,而不要用key的值覆盖它,current+1甚至可能不存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash用另一个字符串替换空格和字符串结尾

来自分类Dev

如何使用字符串的值来控制VB.net中的另一个控件?

来自分类Dev

如何使用指针而不使用字符串库将字符数组复制到'c'中的另一个字符数组

来自分类Dev

NHibernate Fluent将字符串属性映射到另一个表的列

来自分类Dev

创建一个由空格(_)和空格组成的字符串,该字符串基于另一个字符串

来自分类Dev

XPath使用字符串常量将列表中的元素匹配,但不与另一个元素的值匹配

来自分类Dev

在另一个转换字符串结构

来自分类Dev

使用字符串搜索字典列表,并将其附加到相同格式的另一个列表中

来自分类Dev

使用字符串从另一个类计算两个数字

来自分类Dev

连接字符串和变量以引用另一个变量

来自分类Dev

R将函数调用包装到另一个调用中,而无需使用字符串操作

来自分类Dev

如何使用字符串的值来控制VB.net中的另一个控件?

来自分类Dev

如何在另一个类中引用字符串?

来自分类Dev

用字符串中的另一个字符替换“字符”

来自分类Dev

使用数组和foreach循环从另一个字符串中获取一个字符串

来自分类Dev

在一个列表中分别使用字符串和整数?

来自分类Dev

在另一个空白中在空白中使用字符串?

来自分类Dev

如何在另一个元素的代码中调用字符串

来自分类Dev

Java创建一个使用另一个ArrayList的数字的随机ArrayList <Integer>

来自分类Dev

水壶:想将字符串值映射到另一个表的ID

来自分类Dev

从另一个以特殊字符开头和结尾的字符串中提取字符串

来自分类Dev

java使用字符串加上另一个字母来命名文件

来自分类Dev

调用字符串的ArrayList到另一个类?

来自分类Dev

来自文件的 sed 模式并使用字符串变量替换另一个文件中的新模式

来自分类Dev

获取另一个活动的字符串

来自分类Dev

使用字符串的第一个和最后一个字符来创建另一个变量

来自分类Dev

如何从另一个函数调用字符串

来自分类Dev

使用字符串内容为其他变量名称的另一个变量调用变量

来自分类Dev

Python:如何使变量混合另一个变量和字符串?

Related 相关文章

  1. 1

    Bash用另一个字符串替换空格和字符串结尾

  2. 2

    如何使用字符串的值来控制VB.net中的另一个控件?

  3. 3

    如何使用指针而不使用字符串库将字符数组复制到'c'中的另一个字符数组

  4. 4

    NHibernate Fluent将字符串属性映射到另一个表的列

  5. 5

    创建一个由空格(_)和空格组成的字符串,该字符串基于另一个字符串

  6. 6

    XPath使用字符串常量将列表中的元素匹配,但不与另一个元素的值匹配

  7. 7

    在另一个转换字符串结构

  8. 8

    使用字符串搜索字典列表,并将其附加到相同格式的另一个列表中

  9. 9

    使用字符串从另一个类计算两个数字

  10. 10

    连接字符串和变量以引用另一个变量

  11. 11

    R将函数调用包装到另一个调用中,而无需使用字符串操作

  12. 12

    如何使用字符串的值来控制VB.net中的另一个控件?

  13. 13

    如何在另一个类中引用字符串?

  14. 14

    用字符串中的另一个字符替换“字符”

  15. 15

    使用数组和foreach循环从另一个字符串中获取一个字符串

  16. 16

    在一个列表中分别使用字符串和整数?

  17. 17

    在另一个空白中在空白中使用字符串?

  18. 18

    如何在另一个元素的代码中调用字符串

  19. 19

    Java创建一个使用另一个ArrayList的数字的随机ArrayList <Integer>

  20. 20

    水壶:想将字符串值映射到另一个表的ID

  21. 21

    从另一个以特殊字符开头和结尾的字符串中提取字符串

  22. 22

    java使用字符串加上另一个字母来命名文件

  23. 23

    调用字符串的ArrayList到另一个类?

  24. 24

    来自文件的 sed 模式并使用字符串变量替换另一个文件中的新模式

  25. 25

    获取另一个活动的字符串

  26. 26

    使用字符串的第一个和最后一个字符来创建另一个变量

  27. 27

    如何从另一个函数调用字符串

  28. 28

    使用字符串内容为其他变量名称的另一个变量调用变量

  29. 29

    Python:如何使变量混合另一个变量和字符串?

热门标签

归档