/**
* 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);
} |
|