【问题标题】:looping and comparing arraylist循环和比较arraylist
【发布时间】:2016-10-10 13:38:40
【问题描述】:

我正在尝试遍历文件并将每行上的每个字符串与数组列表中的元素进行匹配。我无法让循​​环为数组列表工作。它只是从列表中提取第一个元素。

   array1 = new String[] {"hello", "goodbye"};
   while ((file = br.readLine()) != null) {
             String compare = Character.toString(file.charAt(0)) 
                     + Character.toString(file.charAt(1));


             for(int i=0;i<array1.length; i++) {
                boolean ret = Arrays.asList(compare).contains(array1[i]);
                System.out.println(ret);
             }

   }
   br.close();

【问题讨论】:

  • 你能显示文件的一些内容吗?另外,为什么只比较行的前两个字符?

标签: java arrays contains


【解决方案1】:

不知道为什么会失败,但您只是比较文件每行中的前两个字符,在您的示例中,数组中的两个字符超过 2 个字符。

实现你想要做的更好的方法是 uisng hashmap,key 应该是你想要检查的字符串是否存在于你的列表中,所以你需要做的就是而不是你的 for 循环

         System.out.println(map.get(compare) != null);

【讨论】:

    【解决方案2】:

    您已经在使用 for 循环,因此您可以在 for (int i = 0; ...) { } 中初始化 i,并且您不需要在最后增加 i,因为您已经在您的for 语句。

    我不确定为什么您的列表检查只针对一个单词执行,但您的比较只是两个字符的单词...您确定这是正确的吗?

    【讨论】:

    • 对于这么小的补充,您可以自己编辑问题或添加评论,您也没有提供答案,对于任何问题请在问题上发表评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多