• 循环---匹配


      今天处理一个循环问题,一定记得在循环的时候能尽量少进行循环,那么一定要进行少量的循环,

      举个例子,简单的60万条数据,如果有三层循环,那就是40万的三次方,时间就会变的非常慢,有时候过程性思想是很有利于解决某个具体问题的。这些数据的每一条都是可以分成23个字段,进行提取其中的两个,根据一些规则进行查看其中的异常,

      首先,第一点要把其中一个字段数目大于比方说5K的或得到,只针对这些进行下一步的处理,那么首先想到的就是先把60万循环一次,得到大于5k的一个集合,list或者map都可以,当然我们为了在后来的查询能够快速更倾向于用map。

      接下来,我们对每一批大于5k的这些数据进行处理,获取其中第二个字段,并把重复的都保存下来,每一个都保存下来,同样的也是到一个map中,对这一批数据进行一些阈值的处理,然后再次进行对得到的每一个进行处理。

      这样就进行了至少三次的迭代循环,导致时间非常大,可以单独实现三个方法,查看运行的结果,找出所需要的数据,然后进行整合方法,

        查看一次完整的40万循环可以同时得到什么东西,把这些进行保存,并返回,返回的时候可以用类进行处理,

    还有字符串组合到一起进行处理,有时候也是个好的解决办法,

    比方说,  key——value  一个key对应多个value,但是怎么存储呢,常规的 map的value对应一个list,或者其他的组合一下, 到60万里面进行查询匹配,查到第一个再次匹配第二个。但是这样的循环却是很多的,

      换个思路,把这个key和value组合到一起,作为一个新的String,这样就不会出问题了。 因为每个都是单独的,所以可以是一个新的key,这样速度快多了。

  • 相关阅读:
    第一次结对编程作业
    第一次个人编程作业
    软工实践作业(一)
    通往SDN之路:可编程网络的思想史
    week9:Security: Web Security
    week8:Security: Encrypting and Signing
    week7:Technology: Application Protocols
    week6:Technology: Transport Control Protocol (TCP)
    10.消除左递归
    9.DFA最小化,语法分析初步
  • 原文地址:https://www.cnblogs.com/2589-spark/p/3518094.html
Copyright © 2020-2023  润新知