A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*(黑马点招面试题:有类似这样的字符串:"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中的元素输出
* */
最后的结果,必须是(必须在前三部分的基础上实现,并且不能小数点前前面的集合用ArrayList,后面的再用List),从双列集合中取出来的时候,就应该是这个顺序!!!!!!!!
1 3 5  7 5 44
2 4 6  8 56 55      看清楚他们的顺序,是没有排序的,  考点,怎样让TreeMap自然排序并且不去重,或者用LinkedHashMap 自然顺序.但是让他的底层不去重. 你们如何实现 面试时间25-30分钟,自己读秒表,时间超过下一期

9 个回复

倒序浏览
等下做做看      
回复 使用道具 举报
谢谢!!!!!!!!!!!!!!!!!
回复 使用道具 举报
public class Demo1_Test {
        public static void main(String[] args) throws IOException {
                String s = "1.2,3.4,5.6,7.8,5.56,44.55";
                String ss[] = s.split(",");
                Map m = new HashMap();
                for (String string : ss) {
                        int index = string.indexOf(".");
                        m.put(string.substring(0, index), string.substring(index+1));
                }
                System.out.println("Map集合中元素:"+m);
                Set set = new HashSet();
                Collection coll = new ArrayList() ;
                for (Object object : m.keySet()) {
                        set.add(object);
                        coll.add(m.get(object));
                }
                System.out.println("Set集合中元素:"+set);
                System.out.println("Collection集合中元素:"+coll);
        }
}
回复 使用道具 举报
这个,还是要打好基础,慢慢做
回复 使用道具 举报
难是因为你还不熟集合运用,凡事开头难,多练,祝你早日学成
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
Dani3l 初级黑马 2017-1-24 15:16:07
7#
        public static void main(String[] args) {
               
                String baseStr = "1.2,3.4,5.6,7.8,5.56,44.55";
                String arr1[] = baseStr.split(",");
                Map<Object, Object> map = new LinkedHashMap<Object, Object>();
                for(int index = 0;index<arr1.length;index++){
                        if(!map.containsKey(arr1[index].split("\\.")[0]))
                                map.put(arr1[index].split("\\.")[0], arr1[index].split("\\.")[1]);
                        else
                                map.put(new Integer(arr1[index].split("\\.")[0]), arr1[index].split("\\.")[1]);
                }
                Set<Object> set = map.keySet();
                Collection<Object> collection = new LinkedList<Object>();
                collection.addAll(map.values());
               
               
                for(Object tmp :set){
                        System.out.print(tmp.toString()+" ");
                }
                System.out.println();
                for(Object tmp:collection){
                        System.out.print(tmp.toString()+" ");
                }
        }
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
//其实挺简单的,不过我还是忘记了values 和spilt分割小数点需要转义字符\\,谢谢
[AppleScript] 纯文本查看 复制代码
public static void main(String[] args) {
		String string = "1.2,3.4,5.6,7.8,5.56,44.55";
		String [] num = string.split(",");
		Map<Object , Object> map = new LinkedHashMap<>(); 
		for (int i = 0; i < num.length; i++) {
			String [] arr = num[i].split("\\.");
			map.put(arr[0], arr[1]);
		}
		Set <Object> set = map.keySet();
		for (Object object : set) {
			System.out.println(object);
		}
		Collection<Object> collection = map.values(); 
		for (Object object : collection) {
			System.out.println(object);
		}
	}
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马