文件保存大概20W的数据量,数据格式如下
#briup1775|037:wKgB1660A|7|1285376779|123.40.14.177 ---代表上线信息(标识符 7)
#|037:wKgB1660A|8|1285376779|176.25.20.110 --代表下线信息(标识符 8)然后我用流对文件进行读取,如果是上线信息,保存在一个集合1中,
如果是下线信息,那就遍历集合1中的上线信息,通过ip这个来匹配,然后用一个集合2保存上线and下线信息,把这条上线信息
从集合1中remove掉,那么用什么集合比较好呢?求大神指教
#briup1775|037:wKgB1660A|7|1285376779|123.40.14.177 ---代表上线信息(标识符 7)
#|037:wKgB1660A|8|1285376779|176.25.20.110 --代表下线信息(标识符 8)然后我用流对文件进行读取,如果是上线信息,保存在一个集合1中,
如果是下线信息,那就遍历集合1中的上线信息,通过ip这个来匹配,然后用一个集合2保存上线and下线信息,把这条上线信息
从集合1中remove掉,那么用什么集合比较好呢?求大神指教
第二个arraylist,因为你只增加,不删除
主要思路应该是先把上线信息集合还有下线信息集合都线数据单独归类出来.(多线程+正则+java.util.stream.Stream)这样来读取数据快些.
然后判断两个集合.
对于多现在集合考虑使用java.util.concurrent.ConcurrentHashMap<K,V>