2 qq 31071631 qq_31071631 于 2016.01.18 11:24 提问

求大神帮忙看看有什么洁简的方法

List listzhuanhuan=maps.get(entryt.getKey());
List listleixing=new ArrayList();
for(int m=0; m<listzhuanhuan.size();m++){
listleixing.add(listzhuanhuan.get(m).getLeibie());
}
boolean a=false;
for (String tempa : listleixing) {
if (tempa.equals("0")) {
a=true;
break;
}
a=false;

}
if (!a) {
Mapshuju mapshuju= new Mapshuju();
mapshuju.setLeibie("0");
mapshuju.setOut_dpt(listzhuanhuan.get(0).out_dpt);
mapshuju.setRenshu("0");
listzhuanhuan.add(mapshuju) ;
}
for (String tempa : listleixing) {
if (tempa.equals("1")) {
a=true;
break;
}
a=false;

}
if (!a) {
Mapshuju mapshuju= new Mapshuju();
mapshuju.setLeibie("1");
mapshuju.setOut_dpt(listzhuanhuan.get(0).out_dpt);
mapshuju.setRenshu("0");
listzhuanhuan.add(mapshuju) ;
}

               for (String tempa : listleixing) {
                    if (tempa.equals("2")) {
                    a=true;
                    break;
                    }
                    a=false;    
               }
               if (!a) {
                    Mapshuju mapshuju= new Mapshuju();
                    mapshuju.setLeibie("2");
                    mapshuju.setOut_dpt(listzhuanhuan.get(0).out_dpt);
                    mapshuju.setRenshu("0");
                    listzhuanhuan.add(mapshuju) ;
               }
               for (String tempa : listleixing) {
                    if (tempa.equals("3")) {
                    a=true;
                    break;
                    }
                    a=false;    
               }
               if (!a) {
                    Mapshuju mapshuju= new Mapshuju();
                    mapshuju.setLeibie("3");
                    mapshuju.setOut_dpt(listzhuanhuan.get(0).out_dpt);
                    mapshuju.setRenshu("0");
                    listzhuanhuan.add(mapshuju) ;
               }
          ComparatorUser comparator=new ComparatorUser();
          Collections.sort(listzhuanhuan, comparator); 

6个回答

hefeng1995
hefeng1995   2016.01.18 11:32

just a test

caozhy
caozhy 回复qq_31071631: 你该学学英文了
2 年多之前 回复
qq_31071631
qq_31071631 不懂
2 年多之前 回复
qq_31071631
qq_31071631 不懂
2 年多之前 回复
rui888
rui888   Ds   Rxr 2016.01.18 13:01

if (tempa.equals("2")) {
a=true;
break;
}
a=false;

                                    这里的 equals 2 或者3 为什么不写在一起。
baokx
baokx   2016.01.18 13:17

判断字符串集合中是否有某个字符串为什么不用contains方法呢。

 if(!listleixing.contains("0")){

        }

还有就是new一个Mapshuju对象的时候只有leibie属性不一样,这段代码提到一个方法里不行么,接收leibie参数,返回一个Mapshuju对象

baokx
baokx   2016.01.18 13:24

或者提取到一个方法里,这些都是可以自己决定的。但是重复代码肯定是不好的。

 List listzhuanhuan = maps.get(entryt.getKey());
        funName(listzhuanhuan,new String[]{"0","1","2","3"});

    }

    public static Mapshuju funName(List listzhuanhuan,String [] leibies){
        List listleixing = new ArrayList();
        for(int m=0; m<listzhuanhuan.size();m++){
            listleixing.add(listzhuanhuan.get(m).getLeibie());
        }
        for(int i = 0 ; i < leibies.length ; i++){
            if(!listleixing.contains(leibies[i])){
                Mapshuju mapshuju= new Mapshuju();
                mapshuju.setLeibie(leibies[i]);
                mapshuju.setOut_dpt(listzhuanhuan.get(0).out_dpt);
                mapshuju.setRenshu("0");
                listzhuanhuan.add(mapshuju) ;
            }
        }
    }
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.18 13:46

存在的问题:

 1 变量命名不妥,通常变量都是有意义的英文单词,你这英文加拼音的命名方式很奇怪啊。boolean a=false;这个变量a看不出变量的作用和含义,可读性差。
2 代码不严谨, listzhuanhuan.get(m).getLeibie());这里get(m)如果返回为null,那么久可能抛出空指针异常了。
3 一个方法中代码量太多,有些代码可以抽取成私有方法,如判断是否存在类型为1的记录的代码,可以抽取出来的。
qq_31071631
qq_31071631 刚入门,只会这种请问怎么抽取出来
2 年多之前 回复
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2016.01.20 00:47

就是单独写在一个类里,写一个方法,用到判断就来调用,应该是这样意思。。。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
看看有什么效果
看看有什么效果
求大神帮忙~
wowza推流连接成功了  但是播放得到时候就显示now published 本人萌新根本不懂啊  求帮助
求大神帮忙解决
新接触的一个idea编程软件。。配置好了tomcat的。但是一运行就报一个异常The APR based Apache Tomcat Native library failed to load. The error reported was [D:\apache-tomcat-7.0.68\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA...
求大神帮忙
Dim qyjbxx__MMColParam qyjbxx__MMColParam = &quot;1&quot; If (Request.Form(&quot;fwlly&quot;)    qyjbxx__MMColParam = Request.Form(&quot;fwlly&quot;) End If %&gt; Dim qyjbxx__NNColParam qyjbxx__NNColParam = &quot;1&quot; If (Request.
求大神帮忙!!!!!!!!!!
 不能用循环是一件多么悲伤的事下面是一个算到10的加法表:0 + 0 = 0 0 + 1 = 1 0 + 2 = 2 0 + 3 = 3 0 + 4 = 4 0 + 5 = 5 0 + 6 = 6 0 + 7 = 7 0 + 8 = 8 0 + 9 = 9 0 +10 = 10 1 + 0 = 1 1 + 1 = 2 1 + 2 = 3 1 + 3 = 4 1 + ...
求大神帮忙,急!!
是不是没连上数据库啊?
大神求帮忙
#coding:utf-8 import requests from bs4 import BeautifulSoup base_url = "http://www.ico2o.com/item-%d" def find_matching(url): # 下载页面 r = requests.get(url) html_soup = BeautifulSoup(r.r
Ajax 求大神帮忙!
function updateTclass(){ var id = $("#classId1").val(); var tclassName = $("#className1").val(); var major = $("#classMajor1").val(); $.ajax({     type:"post",     url : "updateTclass.do",//访问
{求大神帮忙!!!!!!}
原题描述: 给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。 Sample Input 2000-01-01 Sample Output 1
求大神帮忙……
<br /><br />编写用于表示有向图的数据结构,以及不同表示方法之间相互转换的程序。<br />程序要求<br />可从文件读入一个有向图(带权,n 个结点,m 条边)的权矩阵表示,输出这个图的关联矩阵、边列表、正向表、邻接表表示。<br />程序除了能够实现要求的功能以外,代码中要有能体现出不同表示方法的数据结构。