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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

TheCity

中级黑马

  • 黑马币:18

  • 帖子:69

  • 精华:0

今天连续写了两个相同功能的程序,自己更喜欢第二种,因为更符合我的逻辑,但是同学说第一种更好,不知道大家怎么看?

第一种
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
* 1、有类似这样的字符串:"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 Text {
        public static void main(String[] args) {
                String str = "1.2,3.4,5.6,7.8,5.56,44.55";
                Map<Object,Object> map = new HashMap<Object,Object>();
                String[] s1 = str.split(",");
               
                for (int i = 0; i < s1.length; i++) {
                        String[] s2 = s1[i].split("\\.");
                       
                        map.put(s2[0], s2[1]);
                }
                Set<Object> set = map.keySet();
                System.out.println(set);
               
                Collection<Object> col = new ArrayList<>();
                for(Object obj: set){
                        col.add(map.get(obj));
                }
                System.out.println(col);
        }

第二种
public class split {
        public static void main(String[] args) {
                String str ="1.2,3.4,5.6,7.8,5.56,44.55";
                Set<Object> set = new HashSet<>();
                Collection<Object> col = new ArrayList<>();
                String[] s = str.split(",");
               
                for (int i = 0; i < s.length-1; i++) {
                        String[] s1 = s[i].split("\\.");
                        for (int j = 0; j < 2; j++) {
                                if(j%2==0){
                                        set.add(s1[j]);

                                }else{
                                        col.add(s1[j]);

                                }
                        }
                }
                System.out.println(set);
                System.out.println(col);
        }

1 个回复

倒序浏览
还不错,个人感觉第二种更好一些吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马