最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java判定數(shù)組或集合是否存在某個元素的實例

 更新時間:2017年01月12日 09:21:08   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava判定數(shù)組或集合是否存在某個元素的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

引言:

今天群里有朋友問“怎么知道一個數(shù)組集合是否已經(jīng)存在當前對象”,大家都知道循環(huán)比對,包括我這位大神群友。還有沒其他辦法呢?且看此篇。

正文:

能找到這里的都是程序員吧,直接上代碼應該更清楚些。

import java.io.Serializable; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.Collection; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
 
public class Test implements Serializable { 
 
  private static final long serialVersionUID = 2640934692335200272L; 
 
  public static void main(String[] args) { 
 
    // data segment 
    String[] SAMPLE_ARRAY = new String[] { "aaa", "solo", "king" }; 
    String TEST_STR = "king"; 
    Collection TEMPLATE_COLL = new ArrayList(); 
    TEMPLATE_COLL.add("aaa"); 
    TEMPLATE_COLL.add("solo"); 
    TEMPLATE_COLL.add("king"); 
    // <- data segment 
 
    // 1, 字符串數(shù)組是否存在子元素 
    // 1-1, 直接使用API 
    Arrays.sort(SAMPLE_ARRAY); 
    int index = Arrays.binarySearch(SAMPLE_ARRAY, TEST_STR); 
    System.out.println("1-1_sort-binarySearche:" 
        + ((index != -1) ? true : false)); 
 
    // 1-2, 使用正則(因Arrays.toString()引入了“, [ ]”故只在有限環(huán)境下可靠) 
    String tmp = Arrays.toString(SAMPLE_ARRAY); 
    Pattern p = Pattern.compile("king"); 
    Matcher m = p.matcher(tmp); 
    System.out.println("1-2_toString-Regex:" + m.find()); 
 
    // 1-3, 都會寫循環(huán),略過。 
    // TODO: 循環(huán)數(shù)據(jù)依次比對,此處略去5行代碼。 
 
    // 2, 集合是否存在子元素 
    // 2-1, 最常用的contains 
    System.out.println("2-1_contains:" + TEMPLATE_COLL.contains(TEST_STR)); 
 
    // 2-1-1, 擴展: 
    // 按模板集合,將當前集合分為“模板已存在”與“不存在”兩個子集。 
    Collection coll = new ArrayList<String>(); 
    coll.add("aaa"); 
    coll.add("bbb"); 
    coll.add("ccc"); 
    // 完整復制集合 
    Collection collExists = new ArrayList(coll); 
    Collection collNotExists = new ArrayList(coll); 
 
    collExists.removeAll(TEMPLATE_COLL); 
    System.out.println("2-1-1_removeAll[exist]:" + collExists); 
    collNotExists.removeAll(collExists); 
    System.out.println("2-1-1_removeAll[notexist]:" + collNotExists); 
 
  } 
 
} 

運行結(jié)果:

1-1_sort-binarySearche:true 
1-2_toString-Regex:true 
2-1_contains:true 
2-1-1_removeAll[exist]:[bbb, ccc] 
2-1-1_removeAll[notexist]:[aaa] 

小結(jié)一下吧~。=

1)數(shù)組至少三種:

    A)binarySearch(,)。但條件是需要事先排序,開銷需要考慮。
    B)Regex。但需要將數(shù)組轉(zhuǎn)為字符串,Arrays類提供的方法會引入“, [ ]”這三種分割符,可能影響判定結(jié)果。
    C)循環(huán)比對。

2)集合至少兩種:

    A)循環(huán)。如果只是判定默認存在(非定制型存在),建議直接不考慮。
    B)contains。能靠過來就果斷靠吧。

3)集合提供了類似“加減”的運算,可以留意一下。

以上就是小編為大家?guī)淼膉ava判定數(shù)組或集合是否存在某個元素的實例全部內(nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 一篇文章帶你了解JAVA面對對象三大特征之封裝

    一篇文章帶你了解JAVA面對對象三大特征之封裝

    所有的面向?qū)ο缶幊陶Z言的思路都是差不多的,而這三大特性,則是思路中的支柱點,接下來我就重點講解了一下java三大特性-封裝,感興趣的朋友跟隨腳本之家小編一起看看吧
    2021-08-08
  • IDEA如何快速構(gòu)建UML類圖

    IDEA如何快速構(gòu)建UML類圖

    UML類圖是一種用于描述軟件系統(tǒng)靜態(tài)結(jié)構(gòu)的可視化建模語言,它通過類、屬性、方法以及它們之間的關(guān)系來表示系統(tǒng),類圖主要用于面向?qū)ο笤O計,幫助理解系統(tǒng)的結(jié)構(gòu)和類之間的關(guān)系,IDEA提供了自動生成UML類圖的功能,但其局限性在于只能基于現(xiàn)有代碼生成
    2025-02-02
  • Java中IO流 字節(jié)流實例詳解

    Java中IO流 字節(jié)流實例詳解

    這篇文章主要介紹了Java中IO流 字節(jié)流實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Java中通過反射實現(xiàn)代理Proxy代碼實例

    Java中通過反射實現(xiàn)代理Proxy代碼實例

    這篇文章主要介紹了Java中通過反射實現(xiàn)代理Proxy代碼實例,java實現(xiàn)代理可以通過java.lang.reflect.Proxy接口結(jié)合java.lang.reflect.InvocationHandler來實現(xiàn),需要的朋友可以參考下
    2023-08-08
  • java中的數(shù)學計算函數(shù)的總結(jié)

    java中的數(shù)學計算函數(shù)的總結(jié)

    這篇文章主要介紹了java中的數(shù)學計算函數(shù)的總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 示例解析java重載Overloading與覆蓋Overriding

    示例解析java重載Overloading與覆蓋Overriding

    這篇文章主要介紹了java重載Overloading與覆蓋Overriding的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • java鎖升級過程過程詳解

    java鎖升級過程過程詳解

    這篇文章主要介紹了Java鎖升級的實現(xiàn)過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • IDEA中實現(xiàn)springboot熱部署方式

    IDEA中實現(xiàn)springboot熱部署方式

    在IDEA中實現(xiàn)SpringBoot的熱部署可以通過修改設置來完成,首先在設置中搜索Compiler,并勾選Build project automatically,然后進入Advanced Settings,勾選Allow auto-make to start even if developed application is currently running
    2024-09-09
  • Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動

    Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動

    這篇文章主要介紹了Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動,幫助大家更好的理解和學習使用spring boot框架,感興趣的朋友可以了解下
    2021-02-02
  • Java8中l(wèi)ambda表達式的應用及一些泛型相關(guān)知識

    Java8中l(wèi)ambda表達式的應用及一些泛型相關(guān)知識

    這篇文章主要介紹了Java8中l(wèi)ambda表達式的應用及一些泛型相關(guān)知識的相關(guān)資料
    2017-01-01

最新評論

蒙阴县| 巴里| 湖北省| 鄯善县| 弥渡县| 桐梓县| 崇州市| 赣州市| 光泽县| 水城县| 天镇县| 江津市| 策勒县| 新民市| 阳山县| 平塘县| 遂昌县| 中方县| 东港市| 新竹县| 阿合奇县| 尉犁县| 惠东县| 鄯善县| 汽车| 富宁县| 辽宁省| 志丹县| 正安县| 邳州市| 三台县| 天台县| 孝感市| 宁海县| 汶川县| 稻城县| 新野县| 增城市| 仁怀市| 乌兰浩特市| 万宁市|