在
Java中,我有一个ip地址的arrayList.我如何找到最小值和最大值?
我已经使用了Collection.min()但它不起作用给出如下情况:
192.168.0.1 <--min 192.168.0.250 192.168.0.9 <--max
我该如何回归
192.168.0.1 <--min 192.168.0.250 <--max
代替?
ArrayList是从数据库中检索的.我需要每次滴答做这个操作(每个滴答间隔为5秒). IP地址的数量最多可能达到300.
解决方法
将IP地址转换为长整数,然后对其进行排序.可以使用二进制算术/运算符将192.168.0.1转换为整数:
( 192 << 24 ) + ( 168 << 16 ) + ( 0 << 8 ) + ( 1 << 0 )
等等.请阅读以下有关使用正确数据类型的注释.