黑马程序员技术交流社区

标题: 集合综合小例题,刚做的,喜欢的敲敲 [打印本页]

作者: Poskey    时间: 2015-7-18 19:25
标题: 集合综合小例题,刚做的,喜欢的敲敲
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
* 需求:有类似这样的字符串:"1.2,3.4,5.6,7.8,5.56,44.55"请按照要求,依次完成以下试题。
*                        (1)以逗号作为分隔符,把已知的字符串分成一个String类型的数组,数组中的每一个元素类似于"1.2","3.4"这样的字符串
*                        (2)把数组中的每一个元素以"."作为分隔符,把"."左边的元素作为key,右边的元素作为value,封装到Map中,Map中的key和value都是Object类型。
*                        (3)把map中的key封装的Set中,并把Set中的元素输出。
*                        (4)把map中的value封装到Collection中,把Collection中的元素输出。
*/
public class Test3
{
        public static void main(String[] args)
        {
                // 定义一个map集合
                Map<Object, Object> map = new HashMap<Object, Object>();
                // 定义字符串"1.2,3.4,5.6,7.8,5.56,44.55"
                String string = "1.2,3.4,5.6,7.8,5.56,44.55";
                // 将字符串转换成字符数组并以“,”分隔
                String[] str = string.split(",");
                // 遍历数组str把数组元素以“.”分隔,用str2接收
                for (int i = 0; i < str.length; i++)
                {
                        String[] str2 = str[i].split("\\.");
                        // 遍历数组str2,将获得的元素放入map集合中
                        for (int j = 0; j < str2.length; j++)
                        {
                                map.put(str2[0], str2[1]);
                        }
                }
                // 把map中的key封装的Set中,并把Set中的元素输出。
                Set<Object> set = map.keySet();
                System.out.println(set);
                // 定义collection集合将value值放入,输出
                Collection<Object> c = new ArrayList<Object>();
                for (Object obj : set)
                {
                        c.add(map.get(obj));
                }
                System.out.println(c);
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2