java ip排序实例

xiaoxiao2021-02-28  80

public class IPSort { public static void main(String[] args) { // IP 排序 // 10.2.9.48, 192.168.1.2, 202.155.10.2, 173.68.46.65 String[] ips = { "19.2.9.48", "192.168.1.2", "202.155.10.2", "173.68.46.65" }; //------------------------------------------------------------------ //Arrays.sort排序,根据字符排序,所以必须是同样的位数。否则如下例子 /*Arrays.sort( ips ); //做排序 ... for( int i=0; i<ips.length; i++ ){ System.out.println( ips[i] ); }*/ //结果为:173.68.46.65 , 19.2.9.48 , 192.168.1.2 , 202.155.10.2 //------------------------------------------------------------------ for( int i=0; i<ips.length; i++ ){ //补零操作, 为什么要补两个零, 考虑的位数是 1 位, 所以要被两个零 ips[i] = ips[i].replaceAll( "(\\d+)", "00$1" ); //System.out.println( ips[i] ); //截成三个位, 限定后面的一定要有三位数, 前面我不管(会被截断) ips[i] = ips[i].replaceAll( "0*(\\d{3})", "$1" ); //System.out.println( ips[i] ); } Arrays.sort( ips ); //做排序 ... for( int i=0; i<ips.length; i++ ){ System.out.println( ips[i] ); } //去零处理 ... for( int i=0; i<ips.length; i++ ){ ips[i] = ips[i].replaceAll( "0*(\\d+)", "$1" ); System.out.println( ips[i] ); } } }
转载请注明原文地址: https://www.6miu.com/read-41279.html

最新回复(0)