Java 设计循环的更好方法
我想知道有没有更好的方法来设计循环。正如您所看到的,函数1和函数2的代码几乎相似,除了获得哈希映射 **现行代码1**Java 设计循环的更好方法,java,loops,Java,Loops,我想知道有没有更好的方法来设计循环。正如您所看到的,函数1和函数2的代码几乎相似,除了获得哈希映射 **现行代码1** //Field ResultSet rs = null; HashMap<Object, Object> hashMap1; HashMap<Object, Object> hashMap2; if(somecondition) { function1() } else { function2(); } void functio
//Field
ResultSet rs = null;
HashMap<Object, Object> hashMap1;
HashMap<Object, Object> hashMap2;
if(somecondition)
{
function1()
}
else
{
function2();
}
void function1()
{
while(rs.next)
{
hashMap1 = someClass.getData1();
hashMap2 = someClass.getData2();
// compareHashMap
}
}
void function2()
{
while(rs.next)
{
hashMap1 = someClass.getModfiedData1();
hashMap2 = someClass.getModfiedData2();
// compareHashMap
}
}
问题:
如果数据库中有10000条或更多记录,那么使用1是否更好
有没有其他的德斯金或者我去2号
谢谢我认为更简单的方法是将“somecondition”设置为在someClass上设置的属性,然后使用一个方法调用以获取数据。差不多
someClass.someCondition = somecondition
while(rs.next)
{
hashMap1 = someClass.getMyData1();
hashMap2 = someClass.getMyData2();
}
或者,您可以将变量传递到函数中
while(rs.next)
{
hashMap1 = someClass.getMyData1(somecondition);
hashMap2 = someClass.getMyData2(somecondition);
}
我认为一种更简单的方法是将“somecondition”作为您在someClass上设置的属性,然后使用一个方法来调用以获取数据。差不多
someClass.someCondition = somecondition
while(rs.next)
{
hashMap1 = someClass.getMyData1();
hashMap2 = someClass.getMyData2();
}
或者,您可以将变量传递到函数中
while(rs.next)
{
hashMap1 = someClass.getMyData1(somecondition);
hashMap2 = someClass.getMyData2(somecondition);
}
在第一个例子中,检查一次条件,然后遍历N条记录。在示例2中,您正在对N条记录进行迭代,并执行N个条件检查。如果这是一个需要为每个记录检查的条件,那么第二个循环就是要使用的循环。否则,如果它是一个只需要检查一次的条件……为什么要增加不必要的检查条件N次的开销?在第一个示例中,您检查一次条件,然后在N条记录上迭代。在示例2中,您正在对N条记录进行迭代,并执行N个条件检查。如果这是一个需要为每个记录检查的条件,那么第二个循环就是要使用的循环。否则,如果它是一个只需要检查一次的条件…为什么要增加不必要的检查条件N次的开销?这些类型的操作通常与
过滤,转换,压缩,减少等操作相关。Guava实现了其中的大部分,这些类型的操作通常与过滤
,转换
,压缩
,压缩
,减少
等操作相关。Guava实现了其中的大部分操作,生成的代码看起来非常漂亮。