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

Java數(shù)組(Array)最全匯總(下篇)

 更新時(shí)間:2023年01月13日 17:07:17   作者:小熊coder  
這篇文章主要介紹了Java數(shù)組(Array)最全匯總(下篇),本文章內(nèi)容詳細(xì),通過案例可以更好的理解數(shù)組的相關(guān)知識(shí),本模塊分為了三部分,本次為下篇,需要的朋友可以參考下

前言

本章是關(guān)于Java數(shù)組的最全匯總,本篇為匯總下篇,主要對(duì)上兩篇內(nèi)容進(jìn)行總結(jié)匯總。

數(shù)組是最常見的一種數(shù)據(jù)結(jié)構(gòu),它是相同類型的用一個(gè)標(biāo)識(shí)符封裝到一起的基本類型數(shù)據(jù)序列或者對(duì)象序列。

數(shù)組使用一個(gè)統(tǒng)一的數(shù)組名和不同的下標(biāo)來唯一確定數(shù)組中的元素。

實(shí)質(zhì)上,數(shù)組是一個(gè)簡(jiǎn)單的線性序列,因此訪問速度很快。

本章將詳細(xì)介紹 Java 中數(shù)組的創(chuàng)建、初始化和處理方法,如獲取數(shù)組長(zhǎng)度、查找數(shù)組元素和數(shù)組排序等。

本章學(xué)習(xí)要點(diǎn)

  1. 掌握一維數(shù)組的創(chuàng)建方法
  2. 掌握一維數(shù)組的初始化方法
  3. 熟練掌握一維數(shù)組的應(yīng)用
  4. 掌握二維數(shù)組的創(chuàng)建
  5. 掌握二維數(shù)組的初始化
  6. 熟練掌握二維數(shù)組元素的訪問方式
  7. 掌握數(shù)組的復(fù)制方法
  8. 掌握搜索數(shù)組元素的方法
  9. 掌握對(duì)數(shù)組的排序算法

對(duì)Java數(shù)組的總結(jié)

數(shù)組(Array)是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)元素具有相同的數(shù)據(jù)類型,可以用一個(gè)統(tǒng)一的數(shù)組名和不同的下標(biāo)來唯一確定數(shù)組中的元素。

根據(jù)數(shù)組的維度,可以將其分為一維數(shù)組、二維數(shù)組和多維數(shù)組等。

一維數(shù)組

數(shù)組中每個(gè)元素都只帶有一個(gè)下標(biāo),是數(shù)組中最簡(jiǎn)單的一種數(shù)組。

聲明

聲明一維數(shù)組語法有兩種格式(推薦使用第一種)。

type[] arrayName; // 數(shù)據(jù)類型[] 數(shù)組名;

或者

type arrayName[]; // 數(shù)據(jù)類型 數(shù)組名[];

分配空間

分配空間語法格式如下。

arrayName = new type[size]; // 數(shù)組名 = new 數(shù)據(jù)類型[數(shù)組長(zhǎng)度];

初始化

Java 中初始化數(shù)組有以下 3 種方式。

  • 使用 new 指定數(shù)組大小后進(jìn)行初始化
  • 使用 new 指定數(shù)組元素的值
  • 直接指定數(shù)組元素的值
// 使用 new 指定數(shù)組大小后進(jìn)行初始化
int[] number = new int[5];
number[0] = 1;
number[1] = 2;
number[2] = 3;
number[3] = 5;
number[4] = 8;
// 使用 new 指定數(shù)組元素的值(2種方式)
int[] number = new int[] { 1, 2, 3, 5, 8 };
int[] number = new int[5] { 1, 2, 3, 5, 8 };
// 直接指定數(shù)組元素的值(2種方式)
int[] number = { 1, 2, 3, 5, 8 };
int[] number;
number={1,2,3,5,8};

使用

  • 獲取單個(gè)元素
  • 獲取全部元素
// 獲取單個(gè)元素
int[] number = { 1, 2, 3, 5, 8 };
System.out.println("獲取第一個(gè)元素:" + number[0]);
// 使用for語句獲取全部元素
int[] number = { 1, 2, 3, 5, 8 };
for (int i = 0; i < number.length; i++) {
    System.out.println("第" + (i + 1) + "個(gè)元素的值是:" + number[i]);
}
// 使用foreach語句獲取全部元素
for (int val : number) {
    System.out.print("元素的值依次是:" + val + "\t");
}

二維數(shù)組

二維數(shù)組被看作數(shù)組的數(shù)組。

聲明

聲明二維數(shù)組語法有兩種格式(推薦使用第一種)。

type[][] arrayName; // 數(shù)據(jù)類型[][] 數(shù)組名;

或者

type arrayName[][]; // 數(shù)據(jù)類型 數(shù)組名[][];

第一個(gè)中括號(hào)表示行,第二個(gè)中括號(hào)表示列。

初始化

二維數(shù)組可以通過以下 3 種方式來指定元素的初始值。

type[][] arrayName = new type[][]{值 1,值 2,值 3,…,值 n}; // 在定義時(shí)初始化
type[][] arrayName = new type[size1][size2]; // 給定空間,在賦值
type[][] arrayName = new type[size][]; // 數(shù)組第二維長(zhǎng)度為空,可變化

// 定義時(shí)初始化
int[][] temp = new int[][]{{1,2},{3,4}};
// 給定空間在賦值
int[][] temp = new int[2][2];
// 數(shù)組第二維長(zhǎng)度為空,可變化
int[][] temp = new int[2][];

 使用

  • 獲取單個(gè)元素:arrayName[i-1][j-1];

arrayName 表示數(shù)組名稱,i 表示數(shù)組的行數(shù),j 表示數(shù)組的列數(shù)。

  • 獲取全部元素:使用嵌套 for 循環(huán)或 for each 循環(huán)語句。
  • 獲取整行元素:需要將行數(shù)固定,然后只遍歷該行中的全部列即可。
  • 獲取整列元素:獲取指定列的元素與獲取指定行的元素相似,保持列不變,遍歷每一行的該列即可。

數(shù)組操作

 比較數(shù)組

比較數(shù)組元素的個(gè)數(shù)和對(duì)應(yīng)位置的元素是否相等。

Arrays.equals(arrayA, arrayB);

arrayA 是用于比較的第一個(gè)數(shù)組,arrayB 是用于比較的第二個(gè)數(shù)組。

填充數(shù)組

在指定位置進(jìn)行數(shù)值填充。

Arrays.fill(array,value);

array 表示數(shù)組,value 表示填充的值。只能使用同一個(gè)數(shù)值進(jìn)行填充。

 數(shù)組查找

從數(shù)組中查詢指定位置的元素,或者查詢某元素在指定數(shù)組中的位置,語法格式如下。

binarySearch(Object[] a,Object key);

a 表示要搜索的數(shù)組,key 表示要搜索的值。

在數(shù)組中指定范圍內(nèi)查找,語法格式如下。

binarySearch(Object[] a,int fromIndex,int toIndex,Object key);

a 表示要進(jìn)行查找的數(shù)組,fromIndex 指定范圍的開始處索引(包含開始處),toIndex 指定范圍的結(jié)束處索引(不包含結(jié)束處),key 表示要搜索的元素。

復(fù)制數(shù)組

copyOf()

Arrays.copyOf(dataType[] srcArray,int length);

srcArray 表示要進(jìn)行復(fù)制的數(shù)組,length 表示復(fù)制后的新數(shù)組的長(zhǎng)度

CopyOfRange()

Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

srcArray 表示原數(shù)組,startIndex 表示開始復(fù)制的起始索引,endIndex 表示終止索引。

 arraycopy()

System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)

srcArray 表示原數(shù)組,srcIndex 表示源數(shù)組中的起始索引,destArray 表示目標(biāo)數(shù)組,destIndex 表示目標(biāo)數(shù)組中的起始索引,length 表示要復(fù)制的數(shù)組長(zhǎng)度。

 clone()

array_name.clone()

數(shù)組排序

Java 數(shù)組中有 5 種常見排序方法,分別是:

  1. Arrays.sort()
  2. 冒泡排序
  3. 快速排序
  4. 選擇排序
  5. 直接插入

常見問題解答

1. 聲明數(shù)組需要注意什么?

聲明數(shù)組時(shí),一定要考慮數(shù)組的最大容量,防止容量不夠的現(xiàn)象。

數(shù)組一旦被聲明,它的容量就固定了,不容改變。

如果想在運(yùn)行程序時(shí)改變?nèi)萘浚托枰玫郊稀?/p>

2. 數(shù)組在平時(shí)的程序代碼中使用是否頻繁?

數(shù)組有一個(gè)缺點(diǎn),就是一旦聲明,就不能改變?nèi)萘?,這個(gè)也是其使用頻率不高的原因。一般存儲(chǔ)數(shù)據(jù)會(huì)使用集合或 Vector 來存儲(chǔ)數(shù)據(jù)。

到此這篇關(guān)于Java數(shù)組(Array)最全匯總(下篇)的文章就介紹到這了,其他兩個(gè)部分的內(nèi)容(上、中篇)請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot整合mqtt服務(wù)的示例代碼

    Springboot整合mqtt服務(wù)的示例代碼

    MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。本文為大家分享了Springboot整合mqtt服務(wù)的示例代碼,需要的可以參考一下
    2022-03-03
  • springboot項(xiàng)目開啟https協(xié)議的項(xiàng)目實(shí)現(xiàn)

    springboot項(xiàng)目開啟https協(xié)議的項(xiàng)目實(shí)現(xiàn)

    本文主要介紹了springboot項(xiàng)目開啟https協(xié)議的項(xiàng)目實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Java合并區(qū)間的實(shí)現(xiàn)

    Java合并區(qū)間的實(shí)現(xiàn)

    本文主要介紹了Java合并區(qū)間的實(shí)現(xiàn),通過合理使用集合類和排序算法,可以有效地解決合并區(qū)間問題,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • Javas使用Redlock實(shí)現(xiàn)分布式鎖過程解析

    Javas使用Redlock實(shí)現(xiàn)分布式鎖過程解析

    這篇文章主要介紹了Javas使用Redlock實(shí)現(xiàn)分布式鎖過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • springboot整合flowable框架入門步驟

    springboot整合flowable框架入門步驟

    最近工作中有用到工作流的開發(fā),引入了flowable工作流框架,在此記錄一下springboot整合flowable工作流框架的過程,感興趣的朋友一起看看吧
    2022-04-04
  • IDEA插件EasyCode及MyBatis最優(yōu)配置步驟詳解

    IDEA插件EasyCode及MyBatis最優(yōu)配置步驟詳解

    這篇文章主要介紹了IDEA插件EasyCode MyBatis最優(yōu)配置步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • springboot實(shí)現(xiàn)對(duì)注解的切面案例

    springboot實(shí)現(xiàn)對(duì)注解的切面案例

    這篇文章主要介紹了springboot實(shí)現(xiàn)對(duì)注解的切面過程,首先定義一個(gè)注解、再編寫對(duì)注解的切面只是記錄的執(zhí)行時(shí)間和打印方法,可以實(shí)現(xiàn)其他邏輯,需要的朋友可以參考一下
    2022-01-01
  • Java通過Socket實(shí)現(xiàn)簡(jiǎn)單多人聊天室

    Java通過Socket實(shí)現(xiàn)簡(jiǎn)單多人聊天室

    這篇文章主要為大家詳細(xì)介紹了Java通過Socket實(shí)現(xiàn)簡(jiǎn)單多人聊天室,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • java實(shí)現(xiàn)通過綁定郵箱找回密碼功能

    java實(shí)現(xiàn)通過綁定郵箱找回密碼功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)通過綁定郵箱找回密碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • ArrayList與linkedList的用法區(qū)別及擴(kuò)容方式

    ArrayList與linkedList的用法區(qū)別及擴(kuò)容方式

    這篇文章主要介紹了ArrayList與linkedList的用法區(qū)別及擴(kuò)容方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評(píng)論