我有一张地图列表,我需要将每张地图单独用于其他目的。这是我使用
的代码片段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);
}
我如何单独处理它们,我还想确保每个地图的大小相同..如何确保列表中的所有地图都具有相同的大小..
答案 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);
}*/
}