国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java 判斷兩個IP段是否有交集

這篇具有很好參考價值的文章主要介紹了Java 判斷兩個IP段是否有交集。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、背景介紹

在有些場景,需要判斷IP段是否有交集,比如:配置一些設(shè)備的過濾規(guī)則,避免IP段重復(fù)配置,需要做IP段是否重疊的校驗。

IP段有交集的場景有幾種:

1)IP段1包含IP段2;
2)IP段2包含IP段1;
3)IP段1的起始IP與IP段2的結(jié)束IP相同,或者IP段1的結(jié)束IP與IP段2的起始IP相同;
4)IP段1和IP段2單純的相交。


二、Java 代碼實現(xiàn)

代碼如下:

/**
 * @author Miracle Luna
 * @date 2021/1/26
 */
public class IpUtil {

    /**
     * 判斷兩個IP段是否相交
     * @param ipRange1 IP段1
     * @param ipRange2 IP段2
     * @return 是否相交
     */
    public static boolean ipRange1IntersectIpRange2(String ipRange1, String ipRange2) {
        String beginIp1 = ipRange1.split("-")[0];
        String endIp1 = ipRange1.split("-")[1];

        String beginIp2 = ipRange2.split("-")[0];
        String endIp2 = ipRange2.split("-")[1];

        return getIp2Long(endIp1) >= getIp2Long(beginIp2) && getIp2Long(endIp2) >= getIp2Long(beginIp1);
    }

    /**
     * 將IP轉(zhuǎn)換為Long類型
     * @param ip 待轉(zhuǎn)換的IP
     * @return 轉(zhuǎn)換為Long后的值
     */
    public static long getIp2Long(String ip) {
        // 去除空格
        ip = ip.trim();
        long ip2Long = 0L;

        String[] ipSplits = ip.split("\\.");
        for (String ipSplit : ipSplits) {
            ip2Long = ip2Long << 8 | Integer.parseInt(ipSplit);
        }

        return ip2Long;
    }

    public static void main(String[] args) {
        String ipRange1 = "192.168.166.10-192.168.166.216";
        String ipRange2 = "192.168.166.100-192.168.166.218";

        System.out.println("==> ipRange1IntersectIpRange2: " + ipRange1IntersectIpRange2(ipRange1, ipRange2));
    }
}

運行結(jié)果如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-561654.html

==> ipRange1IntersectIpRange2: true

到了這里,關(guān)于Java 判斷兩個IP段是否有交集的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【Java SE】判斷兩個文件內(nèi)容是否相同的多種方法

    逐字節(jié)比較文件內(nèi)容。這種方法適用于小文件,但對于大文件會比較耗時。 計算文件的哈希值(如 MD5、SHA-256 等),然后比較兩個文件的哈希值。如果哈希值相同,則可以認(rèn)為文件內(nèi)容相同。這種方法適用于大文件,因為只需要比較哈希值而不是整個文件內(nèi)容。 通過使用

    2024年02月07日
    瀏覽(99)
  • Java 快速判斷一個 IP 是否在給定的網(wǎng)段內(nèi)

    Java 快速判斷一個 IP 是否在給定的網(wǎng)段內(nèi)

    要在 Java 中判斷一個 IP地址 是否在給定的網(wǎng)段內(nèi),可以使用 子網(wǎng)掩碼 將 IP地址 和 子網(wǎng)掩碼 進(jìn)行 與操作 來提取網(wǎng)絡(luò)地址,并將其與給定的子網(wǎng)地址進(jìn)行比較。 下面的例子 由強(qiáng)大的 ChatGPT 提供 。 代碼如下所示(子網(wǎng)掩碼的計算可以截取字符串后,借助底部的算法進(jìn)行獲得

    2024年02月02日
    瀏覽(91)
  • 兩個數(shù)組的交集-C語言/Java

    兩個數(shù)組的交集-C語言/Java

    描述 ????????給定兩個數(shù)組? nums1 ?和? nums2 ?,返回? 它們的交集 ?。輸出結(jié)果中的每個元素一定是? 唯一 ?的。我們可以? 不考慮輸出結(jié)果的順序。 (1 = nums1.length, nums2.length = 1000,0 = nums1[i], nums2[i] = 1000) 示例1 輸入:nums1 = [1,2,2,1], nums2 = [2,2] 輸出:[2] 示例2 輸入:

    2024年02月11日
    瀏覽(22)
  • java 獲取兩個List集合的交集

    可以使用Java中的retainAll方法來獲取兩個List的交集: 假設(shè)有兩個List類型的集合list1和list2,代碼如下: 下面是獲取兩個集合的交集的代碼: 輸出結(jié)果為: 其中,retainAll方法會修改intersection集合,使其只包含兩個集合的交集。在這個例子中,intersection集合最初是包含list1集合的

    2024年02月11日
    瀏覽(21)
  • Java使用不同方式獲取兩個集合List的交集、補(bǔ)集、并集(相加)、差集(相減)

    Java使用不同方式獲取兩個集合List的交集、補(bǔ)集、并集(相加)、差集(相減)

    首先知道幾個單詞的意思: 并集 = union 交集 = intersection 補(bǔ)集 = complement 析取 = disjunction 減去 = subtract 對于兩個給定集合A、B,由兩個集合所有元素構(gòu)成的集合,叫做A和B的并集。 記作:AUB 讀作“A并B” 例:{3,5}U{2,3,4,6}= {2,3,4,5,6} 對于兩個給定集合A、B,由屬于A又屬于B的所有元

    2024年01月22日
    瀏覽(92)
  • 判斷兩個IP是否在同一網(wǎng)段(SHELL實現(xiàn))

    實現(xiàn)代碼

    2024年03月19日
    瀏覽(28)
  • (IP地址的計算)判斷兩個IP是否歸屬于同一子網(wǎng)

    目錄 前言 判斷依據(jù)(附示例) 問題 ???????? 今天在做題的時候做到了IP地址計算這一部分的題目,太久沒有看過了,忘得都差不多了,所以就查閱了資料并做了如下筆記,幫助學(xué)習(xí)理解,同時把這道題的題目與網(wǎng)友分享的做法分享給大家,可以一起做一做,希望能幫助

    2024年02月08日
    瀏覽(19)
  • 題解 | #判斷兩個IP是否屬于同一子網(wǎng)# 簡單好理解

    題解 | #判斷兩個IP是否屬于同一子網(wǎng)# 簡單好理解

    題解 | #合并兩個排序的鏈表# import java.util.*;/* * public class ListNode { * int val; * ListNode next = ? 題解 | #高精度整數(shù)加法# const rl = require(\\\"readline\\\").createInterface({ input: process.stdin ? 二本電氣工程及其自動化投春招 聽勸抗壓 求指點 怎么修改 ? 題解 | #查找兩個字符串a(chǎn),b中的最長公共子

    2024年03月24日
    瀏覽(44)
  • 【華為OD機(jī)試】1035 - 判斷兩個IP是否屬于同一子網(wǎng)

    ??個人博客首頁: KJ.JK ? ??專欄介紹: 華為OD機(jī)試真題匯總,定期更新華為OD各個時間階段的機(jī)試真題,每日定時更新,本專欄將使用Python語言進(jìn)行更新解答,包含真題,思路分析,代碼參考,歡迎大家訂閱學(xué)習(xí)

    2024年02月02日
    瀏覽(34)
  • 判斷兩個 IP 地址是否在同一個局域網(wǎng)中

    如何判斷兩個 IP 地址是否在同一個局域網(wǎng)中, 核心知識點是出于一個網(wǎng)絡(luò)號, 主要是通過本身ip 與 所處的子網(wǎng)掩碼進(jìn)行 計算處理是否處于同一個局域網(wǎng)中(在 TCP/IP協(xié)議規(guī)則里面,IP地址與子網(wǎng)掩碼做與運算)。

    2024年02月13日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包