您的位置:首页 > 产品设计 > UI/UE

(java基础知识)最简单的修改HashMap value值的方法

2013-08-25 21:42 417 查看
说到遍历,首先应该想到for循环,然而map集合的遍历通常情况下是要这样在的,先要获得一个迭代器。

[java]
view plaincopyprint?

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


Iterator it = map.entrySet().iterator();

while (it.hasNext()) {


Map.Entry entry = (Map.Entry) it.next();


Object key = entry.getKey();

Object value = entry.getValue();

Map<Integer,String> map = new HashMap<>();   
  
    Iterator it = map.entrySet().iterator();   
  
    while (it.hasNext()) {   
  
        Map.Entry entry = (Map.Entry) it.next();   
  
        Object key = entry.getKey();   
  
        Object value = entry.getValue();


实际上一个foreach循环也是可以的,很简洁吧~

[java]
view plaincopyprint?

for(Map.Entry<Integer,Integer> m:map.entrySet())

{
if(arr[i]==(int)m.getKey())

map.put((int)m.getKey(),(int)m.getValue()+1);

}

for(Map.Entry<Integer,Integer> m:map.entrySet())
				{
					if(arr[i]==(int)m.getKey())
						map.put((int)m.getKey(),(int)m.getValue()+1);
				}


附上一个完整的小程序例子。

随机生成长度为100的数组,数组元素为1到10,统计出现次数最多和最少的元素

[java]
view plaincopyprint?

import java.util.*;

class Count
{
public void count(int[] arr)

{
int num=0;

Map<Integer,Integer> map=new HashMap<Integer,Integer>();

for(int i=1;i<=10;i++)

{
map.put(i,num);
}
for(int i=0;i<arr.length;i++)

{
/*Iterator it = map.entrySet().iterator();

while(it.hasNext())

{
Map.Entry m=(Map.Entry)it.next();

if(arr[i]==(int)m.getKey())

map.put((int)m.getKey(),(int)m.getValue()+1);

}*/
for(Map.Entry<Integer,Integer> m:map.entrySet())

{
if(arr[i]==(int)m.getKey())

map.put((int)m.getKey(),(int)m.getValue()+1);

}
}
for(Map.Entry<Integer,Integer> m:map.entrySet())

{
System.out.println(""+m.getKey()+"出现的次数为:"+m.getValue()+"次");

}
}

public static
void main(String[] args)
{
Random rd=new Random();

int[] arr=new
int[100];

for(int i=0;i<100;i++)

{
arr[i]=rd.nextInt(10)+1;

}
new Count().count(arr);

}
}

import java.util.*;
class Count
{
public void count(int[] arr)
{
int num=0;
Map<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i=1;i<=10;i++)
{
map.put(i,num);
}
for(int i=0;i<arr.length;i++)
{
/*Iterator it = map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry m=(Map.Entry)it.next();
if(arr[i]==(int)m.getKey())
map.put((int)m.getKey(),(int)m.getValue()+1);
}*/
for(Map.Entry<Integer,Integer> m:map.entrySet()) { if(arr[i]==(int)m.getKey()) map.put((int)m.getKey(),(int)m.getValue()+1); }
}
for(Map.Entry<Integer,Integer> m:map.entrySet())
{
System.out.println(""+m.getKey()+"出现的次数为:"+m.getValue()+"次");
}
}

public static void main(String[] args)
{
Random rd=new Random();
int[] arr=new int[100];
for(int i=0;i<100;i++)
{
arr[i]=rd.nextInt(10)+1;
}
new Count().count(arr);
}
}


供大家参考。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: