用map实现邮箱地址分离

时间:2022-02-17 16:20:02
假如有以下email数据“aa@sohu.com,bb@163.com,cc@sina.com,..”
 现需要把     email中的用户部分(如aa)和邮件地址部分(如sohu.com)分离,
 分离后以键值对应的方式放入HashMap,
并遍历打印map的键和值。

提示:参考String split方法。


import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
/** 假如有以下email数据“aa@sohu.com,bb@163.com,cc@sina.com,..”
		 *  现需要把     email中的用户部分(如aa)和邮件地址部分(如sohu.com)分离,
		 *  分离后以键值对应的方式放入HashMap,
		 *  并遍历打印map的键和值。
			提示:参考String split方法。
 * */
public class Test5 {

	public static void main(String[] args) {
		Map<String,String> map=new HashMap<String,String>();
		String str1="aa@sohu.com,bb@163.com,cc@sina.com";
		String[] str=str1.split(",");
		for(String email:str){
			if(str1.contains("@")){
				String[] emailArr=email.split("@");
				map.put(emailArr[0], emailArr[1]);
			}
		}
		System.out.println("map的keyset遍历:");
		Set<String> keySet=map.keySet();
		for(String key:keySet){
			String value=map.get(key);
			System.out.println("用户:"+key);
			System.out.println("邮箱地址:"+value);
		}
		System.out.println("map的entryset遍历:");
		Set<Entry<String,String>> ss=map.entrySet();
		for(Iterator iter=ss.iterator();iter.hasNext();){
			Entry e=(Entry) iter.next();
			System.out.println("用户:"+e.getKey());
			System.out.println("邮箱地址:"+e.getValue());
		}
	}
}