黑马程序员技术交流社区

标题: 切割字符串 [打印本页]

作者: cxy374100657    时间: 2016-3-25 23:35
标题: 切割字符串
/**
                 * 3.分析以下需求,并用代码实现:
                        (1)有类似这样的字符串:"1.2,3.4,5.6,7.8,5.56,44.55"请按照要求,依次完成以下试题
                        (2)以逗号作为分隔符,把已知的字符串分成一个String类型的数组,数组中的每一个元素类似于"1.2","3.4"这样的字符串
                        (3)把数组中的每一个元素以"."作为分隔符,把"."左边的元素作为key,右边的元素作为value,封装到Map中,Map中的key和value都是Object类型
                        (4)把map中的key封装的Set中,并把Set中的元素输出
                        (5)把map中的value封装到Collection中,把Collection中的元素输出
                 */
                String str="1.2,3.4,5.6,7.8,5.56,44.55";
                HashMap<Object,Object> hm=new HashMap<>();
                //使用split("\\,")方法先把字符串进行分割
                String[] arr= str.split("\\,");
                //循环数组,获取到每一个元素
                for (String strArr : arr) {
                        //使用Split("\\.")方法将没个元素在此分割,因为集合里要存Object类型的字符串,索引要把数组定义为Object
                        Object[] obj=  strArr.split("\\.");
                        //利用Object[0]和Object[1]获取到逗号左边的值和右边的值,存到map集合中
                        hm.put(obj[0],obj[1]);
                }
                //利用map的KeySet()方法获取到map集合键值对象的集合
                Set<Object> s= hm.keySet();
                //创建一个Collection集合
                Collection<Object> c=new ArrayList<>();
                //遍历set,获取到每一个键值对象,
                for (Object key : s) {
                        //根据键获取到值,添加到Collection集合中
                        c.add(hm.get(key));
                }
                //遍历Collection集合
                for (Object value : c) {
                        System.out.println(value);
                }
作者: 李永昌    时间: 2016-3-26 00:31
作业题很简单




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