Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在hashmap上迭代_Java_Collections_Hashmap - Fatal编程技术网

Java 在hashmap上迭代

Java 在hashmap上迭代,java,collections,hashmap,Java,Collections,Hashmap,可能重复: 我已经编写了下面的代码,并且一直在迭代hashmap import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; class demo { public static void main(String v[]) { ArrayList<String> contactIds = new ArrayL

可能重复:

我已经编写了下面的代码,并且一直在迭代hashmap

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

class demo
{
    public static void main(String v[]) {
        ArrayList<String> contactIds = new ArrayList<String>();
        contactIds.add("2");
        contactIds.add("3");

        HashMap names = new HashMap();
        names =  getNames(contactIds);

        // I want to get the total size of the hashmap  - names
        // for ex now there are 6 elements inside hashmap.
        // How can I get that count?

    }


    private static HashMap getNames(ArrayList contactIds) {
        HashMap names = new HashMap();
        String params = null;
        List<String> list = new ArrayList<String>();
        for(int i=0; i<contactIds.size();i++) {
            params = contactIds.get(i).toString();

            list.add(0,"aer-1");
            list.add(1,"aer-2");
            list.add(2,"aer-3");

            names.put(params,list) ;
         }

        return names;
    }
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.Iterator;
导入java.util.List;
课堂演示
{
公共静态void main(字符串v[]{
ArrayList ContactId=新的ArrayList();
联系人ID。添加(“2”);
联系人ID。添加(“3”);
HashMap名称=新的HashMap();
名称=获取名称(ContactID);
//我想得到hashmap-names的总大小
//例如,hashmap中现在有6个元素。
//我怎样才能得到那个数字?
}
私有静态HashMap getNames(ArrayList ContactID){
HashMap名称=新的HashMap();
字符串参数=null;
列表=新的ArrayList();

对于(int i=0;i请查看。您正在查找总计数的
HashMap.size()
,以及映射中所有值的
HashMap.values()
,或者每对键和值的
HashMap.entries()

<

for(Map.Entry:Map.entrySet()){
System.out.println(entry.getKey()+“/”+entry.getValue());
}

地图数据结构不是集合对象,而是集合

对映射进行迭代的最常用方法是使用底层的.entrySet方法

// For each loop
for ( Entry<String, String> entry : names ) {
    System.out.println( String.format( "(%s, %s)", entry.getKey(), entry.getValue() ) );
}

// Iterator
Iterator iterator = names.entrySet().iterator
while( iterator.hasNext() ){
     Entry entry = iterator.next()
     System.out.println( String.format( "(%s, %s)", entry.getKey(), entry.getValue() ) );
}

但是我怎样才能得到hashmap中元素的总数。例如,为键1和键2添加了3个元素。现在我想要的是总大小,即6。有可能吗?但是我怎样才能得到hashmap中元素的总数。例如,为键1和键2添加了3个元素。现在我想要的是总大小,即6。有可能吗e?没有名为size()的方法映射中的值使用的是什么数据结构?在代码中,它看起来像一个ArrayList,它是一个集合数据结构,因此它应该有一个.size()方法。
// For each loop
for ( Entry<String, String> entry : names ) {
    System.out.println( String.format( "(%s, %s)", entry.getKey(), entry.getValue() ) );
}

// Iterator
Iterator iterator = names.entrySet().iterator
while( iterator.hasNext() ){
     Entry entry = iterator.next()
     System.out.println( String.format( "(%s, %s)", entry.getKey(), entry.getValue() ) );
}
Iterator iterator = names.entrySet().iterator
int count = 0;

while( iterator.hasNext() ){
     Entry entry = iterator.next()
     count += entry.getValue().size()
}