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