欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 基礎(chǔ)--Arrays工具類詳解

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

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列表鏈接起來:當(dāng)更新其一個時,另一個自動更新;
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的相應(yīng)方法。

(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進(jìn)行流式處理,可用一切流式處理的方法。

(3)Collections.addAll()

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

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ù)組復(fù)制

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ù)組默認(rèn)值。

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

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ù)組,方法返回要搜索元素的索引值。
注:必須在進(jìn)行此調(diào)用之前對數(shù)組進(jìn)行排序(sort 方法)。如果沒有對數(shù)組進(jìn)行排序,則結(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é)

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

相關(guān)文章

  • 通過Java代碼來創(chuàng)建view的方法

    通過Java代碼來創(chuàng)建view的方法

    本文給大家分享通過java代碼創(chuàng)建view的方法,以TextView為例創(chuàng)建控件的方法,需要的的朋友參考下吧
    2017-08-08
  • HashMap確定key的存儲位置的源碼分析

    HashMap確定key的存儲位置的源碼分析

    HashMap 作為 Java 中最常用的數(shù)據(jù)結(jié)構(gòu)之一,用于存儲和管理鍵值對,HashMap 基于哈希函數(shù)實現(xiàn),能通過將 key 映射到特定的位置來實現(xiàn)快速存儲、查找和刪除數(shù)據(jù),接下來將從源碼角度分析以通俗易懂的方式向大家講解一下 HashMap 如何確定 key 的存儲位置的
    2023-07-07
  • JavaBean和SpringBean的區(qū)別及創(chuàng)建SpringBean方式

    JavaBean和SpringBean的區(qū)別及創(chuàng)建SpringBean方式

    這篇文章主要介紹了JavaBean和SpringBean的區(qū)別及創(chuàng)建SpringBean方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中documentHelper解析xml獲取想要的數(shù)據(jù)

    Java中documentHelper解析xml獲取想要的數(shù)據(jù)

    本文主要介紹了Java中documentHelper解析xml獲取想要的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • SpringBoot使用Redis實現(xiàn)分布式緩存

    SpringBoot使用Redis實現(xiàn)分布式緩存

    這篇文章主要介紹了SpringBoot redis分布式緩存實現(xiàn)過程解析,文中通過示例代碼解析的非常詳細(xì),感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Java中的SPI機(jī)制案例分享

    Java中的SPI機(jī)制案例分享

    這篇文章主要介紹了Java中的SPI機(jī)制案例分享,文章基于Java的相關(guān)資料展開SPI的詳細(xì)介紹,SPI的全稱是Service?Provider?Interface,服務(wù)提供者接口,下文更多相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • Springboot整合Redis的詳細(xì)教程分享

    Springboot整合Redis的詳細(xì)教程分享

    這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot整合Redis,文中的示例代碼講解詳細(xì),具有很好的參考價值,希望對大家有所幫助
    2022-08-08
  • SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    這篇文章主要介紹了SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解,通過示例代碼介紹了實現(xiàn)一個自定義的?@Conditional?派生注解,Conditional?派生注解的類如何注入到?spring?容器,需要的朋友可以參考下
    2022-08-08
  • 詳解Java編程規(guī)約(命名風(fēng)格、常量定義、代碼格式)

    詳解Java編程規(guī)約(命名風(fēng)格、常量定義、代碼格式)

    這篇文章主要介紹了詳解Java編程規(guī)約(命名風(fēng)格、常量定義、代碼格式),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-10-10
  • 深入了解Java SpringBoot自動裝配原理

    深入了解Java SpringBoot自動裝配原理

    在使用springboot時,很多配置我們都沒有做,都是springboot在幫我們完成,這很大一部分歸功于springboot自動裝配。本文將詳細(xì)為大家講解SpringBoot的自動裝配原理,需要的可以參考一下
    2022-03-03

最新評論