黑马程序员技术交流社区

标题: Map集合 [打印本页]

作者: losttemp    时间: 2016-5-20 22:37
标题: Map集合
有类似这样的字符串:"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 Test06 {
        public static void main(String[] args) {
                String str = "1.2,3.4,5.6,7.8,5.56";
                // 切割字符串
                String str2[] = str.split(",");
                // 3.定义Map集合,为了保证不去重,而且按照存入的顺序,定义比较器,直接返回1
                Map<Object, Object> map = new TreeMap<>(new Comparator() {
                        @Override
                        public int compare(Object o1, Object o2) {

                                return 1;
                        }
                }

                );
                // 遍历数组,将元素用.切割,切割后索引为0的为键,索引为1的为值,放入map集合中
                for (String string : str2) {
                        String[] str3 = string.split("\\.");
                        map.put(str3[0], str3[1]);
                }
                Set<Object> set = map.keySet();//keyset方法获取键
                Iterator<Object> it = set.iterator();
                while (it.hasNext()) {
                        System.out.println(it.next());

                }
                System.out.println("--------------");
                Collection<Object> c = map.values();
                for (Object object : c) {
                        System.out.println(object);
                }
        }
}





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