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