Map中的方法运用之熟记常用方法(很重要)!!!

       Map中的方法运用之熟记常用方法

    有这样一个问题:给出一组字符串数组,让你计算其中相同字符出现的个数?对于这样可以采用的方法很多,题目要求采用Map中的HashMap来完成,对于Map来说他是保存键值特征的结构数据的,分析题意可以看出,首先字符相同即不重复,也可以说是键唯一,对应的出现的个数,可以理解成键值对中的值,这样就符合了Map的数据处理特征。
    题目给出这样一组数据如下:
         "java","java","j2ee","ibm","j2ee","ibm","j2em","java"
计算上述相同出现的字符串的个数。实现代码如下:
<span style="font-size:18px;">import java.util.HashMap;
import java.util.Map;  

public class HashMapTest {
	public static void main(String[] args) {
		String str[] ={"java","java","j2ee","ibm","j2ee",
				"ibm","j2em","java"};
		HashMapTest add=new HashMapTest();
		add.addmethod(str);
	}</span>
<span style="font-size:18px;">
	void addmethod(String[] str){
		Map<String, Integer> map=new HashMap<String, Integer>();</span>
<span style="font-size:18px;">                    采用for循环讲数组中元素依次输入。
		for (int i = 0; i < str.length; i++) {</span>
<span style="font-size:18px;">             首先判断此集合中是否存在相同的元素,如果相同将其覆盖,并将对应的value加1,来实现计数;
			if (map.containsKey(str[i])) {
				map.put(str[i], map.</span><span style="font-size: 18px; font-family: FangSong_GB2312;">get(str[i])</span><span style="font-size:18px;">+1);
			}else{</span>
<span style="font-size:18px;">                首次向map集合中读入时,必然没有相同的字符串,所以value是1,其次是字符串不同的也是1,
<span style="white-space:pre">	</span>       以便在遍历数组时,遇到相同字符串时,计数而顺利执行上面if中的语句,完成计数
				map.put(str[i], 1);
			}
		}</span>
<span style="font-size:18px;"><span style="white-space: pre;">		</span>//enhance-for 方便的输出集合中的键值对。
		for (Map.Entry<String, Integer> str2 : map.entrySet()) {
			System.out.println(str2);	
		}
	}
}</span>
<span style="font-size:18px;">    从上述代码中可以使用了</span><span style="font-size: 18px; font-family: FangSong_GB2312;">Map中常用</span><span style="font-family: FangSong_GB2312;"><span style="font-size:18px;">方法:</span></span><span style="font-size: 18px; font-family: FangSong_GB2312;">containsKey(),</span><span style="font-family: FangSong_GB2312; font-size: 18px;">get(),put(),entrySet();</span>
<span style="font-family: FangSong_GB2312; font-size: 18px;">上述四种方法的灵活运用,至关重要。第一个方法来判断集合中是够存在将要输入的元素,get方法用于取出key值对应的value值,后者用于存放相同字符出现的次数。put用于将k-v对存入map中,entrySet用于获得map中的k-v对的映射视图,最后将其按toString方法输出。</span>
<span style="font-family: FangSong_GB2312; font-size: 18px;">    在刚拿到这个问题时,根据一般思路很难突破,然后就去阅读API找到其方法,思路有所突破。总的来说,要熟记集合中各个接口的常用方法,这样做才能达到事半功倍的作用。</span>
<span style="font-family: FangSong_GB2312; font-size: 18px;">
</span>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值