java ip排序实例


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] );
				}
				
			
		
		}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值