迭代地图列表时出现无限循环问题

时间:2017-08-28 08:59:16

标签: java

我的下面代码导致无限循环。我正在向maps添加3 ArrayList,并尝试迭代list Maps。但我不知道造成无限循环的原因。我知道我可能会犯一些愚蠢的错误,但我无法弄明白。有人可以帮忙吗?

package paddy.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Maptest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Map < String, Integer > m = new HashMap<String, Integer>();

        m.put("a", 1);
        m.put("b", 1);
        m.put("c", 1);
        m.put("d", 1);
        m.put("e", 1);

        Map < String, Integer > m1 = new HashMap<String, Integer>();

        m1.put("a", 1);
        m1.put("b", 1);
        m1.put("c", 1);
        m1.put("d", 1);
        m1.put("e", 1);

        Map < String, Integer > m2 = new HashMap<String, Integer>();

        m2.put("a", 1);
        m2.put("b", 1);
        m2.put("c", 1);
        m2.put("d", 1);
        m2.put("e", 1);

        List<Map<String, Integer>> lm = new ArrayList<>();

        lm.add(m);
        lm.add(m1);
        lm.add(m2);

        Iterator<Map<String, Integer>> lmItr = lm.iterator();

        while (lmItr.hasNext())
        {
            System.out.println(1);
        }
    }
}

1 个答案:

答案 0 :(得分:6)

您不会使用迭代器,而是打印常量。变化

mLayoutManager = new LinearLayoutManager(MyActivity.this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);

mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(yourAdapter);

while (lmItr.hasNext())
{
    System.out.println(1);
}