循环和比较arraylist

时间:2016-10-10 13:38:41

标签: java arrays contains

我正在尝试遍历文件并将每行上的每个字符串与数组列表中的元素相匹配。我无法获得一个循环来为数组列表工作。它只从列表中拉出第一个元素。

   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();

2 个答案:

答案 0 :(得分:1)

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

实现你想要做的事情的一个更好的方法是uisng hashmap,key应该是你要检查的字符串,如果你的列表中存在,那么你需要做的就是代替你的for循环了

<script lang="javascript" type="text/javascript">
        Element.prototype.attachEvent = function(ename, e) {
            this.addEventListener(ename, e);
        }

        Element.prototype.detachEvent = function(ename, e) {
            this.removeEventListener(ename, e);
        }
</script>

答案 1 :(得分:-1)

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

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