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

Java 基礎--Arrays工具類詳解

 更新時間:2021年09月06日 15:24:17   作者:IT__learning  
這篇文章主要介紹了Java Arrays工具類用法,結(jié)合實例形式分析了java Arrays工具類針對數(shù)組元素修改、復制、排序等操作使用技巧與相關注意事項,需要的朋友可以參考下

Arrays 是 JDK 提供的操作數(shù)組的工具類,Arrays 類提供了動態(tài)創(chuàng)建、訪問和操作 Java 數(shù)組的方法。此類還包含一個允許將數(shù)組作為列表來查看的靜態(tài)工廠。

1、數(shù)組轉(zhuǎn)換成字符串

public static String toString(T [] a)

如:

int[] a = {2,8,51,13,46,11,22};
System.out.println(Arrays.toString(a));

2、數(shù)組轉(zhuǎn)換成集合

(1)asList

public static <T> List<T> asList(T... a)

例:

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
        System.out.println(list);

1)該方法適用于對象型數(shù)據(jù)的數(shù)組(String、Integer…),該方法不要使用于基本數(shù)據(jù)類型的數(shù)組(byte,short,int,long,float,double,boolean);
2)該方法將數(shù)組與List列表鏈接起來:當更新其一個時,另一個自動更新;
3)不支持add()、remove()、clear()等方法;
4)用此方法得到的List的長度是不可改變的;
5)如果你的List只是用來遍歷,就用Arrays.asList();如果你的List還要添加或刪除元素, 就new一個java.util.ArrayList,然后一個一個地添加或刪除元素;
6)這個ArrayList不是java.util包下的,而是java.util.Arrays.ArrayList。它是Arrays類自己定義的一個靜態(tài)內(nèi)部類,這個內(nèi)部類沒有實現(xiàn)add()、remove()方法,而是直接使用它的父類AbstractList的相應方法。

(2)stream 流操作

public static IntStream stream(int[] array)

例:

int[] a = {2,8,51,13,46,11,22};
IntStream stream = Arrays.stream(a);
System.out.println(Arrays.toString(stream.toArray()));
System.out.println(Arrays.toString(a));

將數(shù)組轉(zhuǎn)為流式,對array進行流式處理,可用一切流式處理的方法。

(3)Collections.addAll()

3、對數(shù)組進行升序排列

public static void sort(T [] a)

例:

int[] a = {20, 3, 32, 1, 72, 26, 35};
Arrays.sort(a);

4、判斷數(shù)組是否相等

public static boolean equals(T[] a, T[] a2)

例:

int[] a = {20, 3, 32, 1, 72, 26, 35};
int[] b = {3, 5, 7, 8, 54, 23, 9};
boolean boo = Arrays.equals(a, b);

比較的原則是長度相等,元素相等。

5、所有元素賦特定值

// 用val替換數(shù)組指定范圍的值
public static void fill(T[] a, int fromIndex, int toIndex, T val)

例:

int[] a = {1, 2, 3, 4};
Arrays.fill(a, 0,2,5);

6、對數(shù)組復制

public static char[] copyOf(char[] original, int newLength)

例:

int[] b = {3, 5, 7, 8, 54, 23, 9};
int[] d = Arrays.copyOf(b, b.length);

Arrays 的 copyOf() 方法傳回的數(shù)組是新的數(shù)組對象,改變傳回數(shù)組中的元素值,不會影響原來的數(shù)組。
copyOf() 的第二個自變量指定要建立的新數(shù)組長度,如果新數(shù)組的長度超過原數(shù)組的長度,則保留數(shù)組默認值。

7、查詢數(shù)組下標

public static int binarySearch(byte[] a, byte key)     // 查詢元素第一次出現(xiàn)的位置

例:

int[] b = {3, 5, 7, 8, 9, 23, 54};
int i = Arrays.binarySearch(b, 5);

使用二分搜索法來搜索指定的數(shù)組,方法返回要搜索元素的索引值。
注:必須在進行此調(diào)用之前對數(shù)組進行排序(sort 方法)。如果沒有對數(shù)組進行排序,則結(jié)果是不明確的。如果數(shù)組包含多個帶有指定值的元素,則無法保證找到的是哪一個。
查找效率比一般的從數(shù)組中從左到右挨個挨個的查找的平均查找時間要快。

8、返回數(shù)組 hashcode 值

public static int hashCode(int a[]);    // 返回數(shù)組的hashCode值

例:

int[] a = {1, 2, 3, 4};
System.out.println(Arrays.hashCode(a));
// 結(jié)果:955331

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • jmeter的時間戳函數(shù)使用

    jmeter的時間戳函數(shù)使用

    在使用jmeter做接口測試的時候,經(jīng)常會要用到日期這種函數(shù),本文主要介紹了jmeter的時間戳函數(shù)使用,感興趣的可以了解一下
    2021-11-11
  • Oracle + Mybatis實現(xiàn)批量插入、更新和刪除示例代碼

    Oracle + Mybatis實現(xiàn)批量插入、更新和刪除示例代碼

    利用MyBatis動態(tài)SQL的特性,我們可以做一些批量的操作,下面這篇文章主要給大家介紹了關于Oracle + Mybatis實現(xiàn)批量插入、更新和刪除的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-01-01
  • 常用Java排序算法詳解

    常用Java排序算法詳解

    本文主要介紹了java的七種常見排序算法的實現(xiàn),對選擇排序、插入排序、冒泡排序、歸并排序、快速排序、希爾排序、最小堆排序進行原理分析與實例介紹,具有很好的參考價值。下面就跟著小編一起來看下吧
    2016-12-12
  • springboot 日志實現(xiàn)過程

    springboot 日志實現(xiàn)過程

    Spring Boot 使用 SLF4J 作為日志門面,Logback 或 Log4j2 作為日志實現(xiàn),日志門面提供統(tǒng)一接口,簡化日志記錄,實現(xiàn)負責具體功能,Spring Boot 默認使用 SLF4J 和 Logback,可以通過配置文件或注解進行日志記錄和控制,感興趣的朋友一起看看吧
    2025-01-01
  • SpringBoot+ThreadLocal+AbstractRoutingDataSource實現(xiàn)動態(tài)切換數(shù)據(jù)源

    SpringBoot+ThreadLocal+AbstractRoutingDataSource實現(xiàn)動態(tài)切換數(shù)據(jù)源

    最近在做業(yè)務需求時,需要從不同的數(shù)據(jù)庫中獲取數(shù)據(jù)然后寫入到當前數(shù)據(jù)庫中,因此涉及到切換數(shù)據(jù)源問題,所以本文采用ThreadLocal+AbstractRoutingDataSource來模擬實現(xiàn)dynamic-datasource-spring-boot-starter中線程數(shù)據(jù)源切換,需要的朋友可以參考下
    2023-08-08
  • 虛擬機linux中jdk安裝配置方法

    虛擬機linux中jdk安裝配置方法

    這篇文章主要為大家詳細介紹了虛擬機linux中jdk安裝配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Java詳細分析連接數(shù)據(jù)庫的流程

    Java詳細分析連接數(shù)據(jù)庫的流程

    Java數(shù)據(jù)庫連接,JDBC是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標。我們通常說的JDBC是面向關系型數(shù)據(jù)庫的
    2022-05-05
  • 淺談Spring Data Redis讀不到設進去的值

    淺談Spring Data Redis讀不到設進去的值

    本文主要介紹了Spring Data Redis怎么讀不到我剛才設進去的值,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java內(nèi)存泄漏問題的排查、優(yōu)化與最佳實踐

    Java內(nèi)存泄漏問題的排查、優(yōu)化與最佳實踐

    在?Java?開發(fā)中,內(nèi)存泄漏是一個常見且令人頭疼的問題,內(nèi)存泄漏指的是程序在運行過程中,已經(jīng)不再使用的對象沒有被及時釋放,從而導致內(nèi)存占用不斷增加,最終可能導致程序崩潰或性能顯著下降,本文給大家介紹了Java內(nèi)存泄漏排查、優(yōu)化與最佳實踐
    2025-01-01
  • Java實現(xiàn)開箱即用的redis分布式鎖

    Java實現(xiàn)開箱即用的redis分布式鎖

    這篇文章主要為大家詳細介紹了如何使用Java實現(xiàn)開箱即用的基于redis的分布式鎖,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以收藏一下
    2022-12-12

最新評論

黄龙县| 贺兰县| 长治县| 乌拉特前旗| 瑞金市| 吴江市| 南京市| 吴江市| 文山县| 佛教| 荣成市| 新宁县| 连城县| 井冈山市| 宝坻区| 民勤县| 得荣县| 神农架林区| 安达市| 庆城县| 苗栗市| 德庆县| 嵊泗县| 丹寨县| 翼城县| 且末县| 读书| 安福县| 克什克腾旗| 兴文县| 同心县| 子洲县| 静宁县| 洪雅县| 平凉市| 安福县| 盐池县| 甘泉县| 瑞安市| 盖州市| 康乐县|