Java算法小案例——利用集合解决算法问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java算法小案例——利用集合解决算法问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1764字,纯文字阅读大概需要3分钟。
内容图文
![Java算法小案例——利用集合解决算法问题](/upload/InfoBanner/zyjiaocheng/639/f9fc08a9713a4909831473d900c79fc6.jpg)
题目:
根据给定的字符串输出人名和邮箱的对应关系,并计算出每个邮箱出现的个数
yang@123.com,ming@163.com,yang@sohu.com,du@sodu.com,feifei@sohu.com,qing@qq.com,bam@123.com
要求:
输出结果反映字符串中人名和邮箱地址的映射关系;
统计每个邮箱出现的次数,要求以Map键值对的形式保存这个映射关系。
Example:
package map;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/**
* Map小练习:利用text字符串提取出人名和邮箱号码,再利用text提取出邮箱并计算每个邮箱的个数,以Map键值对形式保存
*
*/
public class Test03 {
public static void main(String[] args) {
String text = "yang@123.com,ming@163.com,yang@sohu.com,du@sodu.com,feifei@sohu.com,qing@qq.com,bam@123.com";
//把字符串的邮箱分离出来
String[] words = text.split("[,@]");
System.out.println(Arrays.toString(words));
//[yang, 123.com, ming, 163.com, yang, sohu.com, du, sodu.com, feifei, sohu.com, qing, qq.com, bam, 123.com]
//分别把邮箱名 和邮箱地址保存在一个Map中,<yang,163@com>
//把这些map保存在Set集合中
Set<Map<String, String>> set = new HashSet<>();
for(int i = 0 ; i < words.length ; i+=2) {
Map<String, String> map = new HashMap<>();
map.put(words[i], words[i+1]);
set.add(map);
}
System.out.println( set );
//统计每个邮箱地址的邮箱数量,<邮箱,数量><sohu.com,2>
Map<String, Integer> map2 = new HashMap<>();
for(int i = 1 ; i<words.length ; i+=2)
{
//判断邮箱地址是否再map中,如果不在,添加邮箱地址为1
if(!map2.containsKey(words[i])) {
map2.put(words[i], 1);
}else {
//如果已在map中,把原来的次数加1
int count = map2.get(words[i]);
map2.replace(words[i], ++count);
}
}
//遍历输出map2
Set<Entry<String, Integer>> entrySet = map2.entrySet();
for (Entry<String, Integer> entry : entrySet) {
System.out.println(entry.getKey() + " : "+ entry.getValue());
}
}
}
内容总结
以上是互联网集市为您收集整理的Java算法小案例——利用集合解决算法问题全部内容,希望文章能够帮你解决Java算法小案例——利用集合解决算法问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。