如何从linkedhashmap列表中单独获取linkedhashmap

时间:2015-02-04 15:18:46

标签: java list maps

我有一张地图列表,我需要将每张地图单独用于其他目的。这是我使用

的代码片段
for(int i = 0; i < 5; i++) {
        listOfMaps.add(new LinkedHashMap<String, Double>());
    }

    int j=0;
    while(it.hasNext())
    {
        try
        {
            List<Entry<String,Double>> list1 = new ArrayList<Entry<String,Double>>();

            Map.Entry pairs = (Map.Entry)it.next();
            System.out.println(  pairs.getKey() );

            for (int i = 0; i< ((List<Entry<String, Double>>) pairs.getValue()).size() ; i++)
            {
                String docId = ((List<Entry<String, Double>>) pairs.getValue()).get(i).getKey();
                Double ScoreValue = ((List<Entry<String, Double>>) pairs.getValue()).get(i).getValue();
                listOfMaps.get(j).put(docId, ScoreValue);
            }

我如何单独处理它们,我还想确保每个地图的大小相同..如何确保列表中的所有地图都具有相同的大小..

1 个答案:

答案 0 :(得分:0)

这是一个小程序,我为你写的 我没有理解你想要如何处理地图的过程逻辑 所以我创建了一个单独的进程函数,以便您可以在那里插入逻辑

static List<Map<String, Double>> listOfMaps = new ArrayList<Map<String, Double>>();

    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            Map map=new LinkedHashMap<String, Double>();
            map.put("serial",i);
            putValues(map);
            listOfMaps.add(map);
        }

        int j = 0;
        Iterator<Map<String, Double>> it = listOfMaps.iterator();
        while (it.hasNext()) {


            Map mapItem = (LinkedHashMap) it.next();
            process(mapItem);
            System.out.println("After processing"+mapItem);

            /*System.out.println(pairs.getKey());

            for (int i = 0; i < ((List<Entry<String, Double>>) pairs.getValue())
                    .size(); i++) {
                String docId = ((List<Entry<String, Double>>) pairs.getValue())
                        .get(i).getKey();
                Double ScoreValue = ((List<Entry<String, Double>>) pairs
                        .getValue()).get(i).getValue();
                listOfMaps.get(j).put(docId, ScoreValue);
            }*/
        }