Arrays工具類常見方法

Arrays類的常見操作

  1. 排序 :?sort()
  2. 查找 :?binarySearch()
  3. 比較:?equals()
  4. 填充 :?fill()
  5. 轉列表:?asList()
  6. 轉字符串 :?toString()
  7. 復制:?copyOf()

排序 :?sort()

		// *************排序 sort****************int a[] = { 1, 3, 2, 7, 6, 5, 4, 9 };// sort(int[] a)方法按照數字順序排列指定的數組。Arrays.sort(a);System.out.println("Arrays.sort(a):");for (int i : a) {System.out.print(i);}// 換行System.out.println();// sort(int[] a,int fromIndex,int toIndex)按升序排列數組的指定范圍int b[] = { 1, 3, 2, 7, 6, 5, 4, 9 };Arrays.sort(b, 2, 6);System.out.println("Arrays.sort(b, 2, 6):");for (int i : b) {System.out.print(i);}// 換行System.out.println();int c[] = { 1, 3, 2, 7, 6, 5, 4, 9 };// parallelSort(int[] a) 按照數字順序排列指定的數組(并行的)。同sort方法一樣也有按范圍的排序Arrays.parallelSort(c);System.out.println("Arrays.parallelSort(c):");for (int i : c) {System.out.print(i);}// 換行System.out.println();// parallelSort給字符數組排序,sort也可以char d[] = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };Arrays.parallelSort(d);System.out.println("Arrays.parallelSort(d):");for (char d2 : d) {System.out.print(d2);}// 換行System.out.println();

在做算法面試題的時候,我們還可能會經常遇到對字符串排序的情況,Arrays.sort()?對每個字符串的特定位置進行比較,然后按照升序排序。

String[] strs = { "abcdehg", "abcdefg", "abcdeag" };
Arrays.sort(strs);
System.out.println(Arrays.toString(strs));//[abcdeag, abcdefg, abcdehg]

查找 :?binarySearch()

		// *************查找 binarySearch()****************char[] e = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };// 排序后再進行二分查找,否則找不到Arrays.sort(e);System.out.println("Arrays.sort(e)" + Arrays.toString(e));System.out.println("Arrays.binarySearch(e, 'c'):");int s = Arrays.binarySearch(e, 'c');System.out.println("字符c在數組的位置:" + s);

比較:?equals()

		// *************比較 equals****************char[] e = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };char[] f = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };/** 元素數量相同,并且相同位置的元素相同。 另外,如果兩個數組引用都是null,則它們被認為是相等的 。*/// 輸出trueSystem.out.println("Arrays.equals(e, f):" + Arrays.equals(e, f));

填充 :?fill()

		// *************填充fill(批量初始化)****************int[] g = { 1, 2, 3, 3, 3, 3, 6, 6, 6 };// 數組中所有元素重新分配值Arrays.fill(g, 3);System.out.println("Arrays.fill(g, 3):");// 輸出結果:333333333for (int i : g) {System.out.print(i);}// 換行System.out.println();int[] h = { 1, 2, 3, 3, 3, 3, 6, 6, 6, };// 數組中指定范圍元素重新分配值Arrays.fill(h, 0, 2, 9);System.out.println("Arrays.fill(h, 0, 2, 9);:");// 輸出結果:993333666for (int i : h) {System.out.print(i);}

轉列表?asList()

		// *************轉列表 asList()****************/** 返回由指定數組支持的固定大小的列表。* (將返回的列表更改為“寫入數組”。)該方法作為基于數組和基于集合的API之間的橋梁,與Collection.toArray()相結合 。* 返回的列表是可序列化的,并實現RandomAccess 。* 此方法還提供了一種方便的方式來創建一個初始化為包含幾個元素的固定大小的列表如下:*/List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");System.out.println(stooges);

轉字符串?toString()

		// *************轉字符串 toString()****************/** 返回指定數組的內容的字符串表示形式。*/char[] k = { 'a', 'f', 'b', 'c', 'e', 'A', 'C', 'B' };System.out.println(Arrays.toString(k));// [a, f, b, c, e, A, C, B]

復制?copyOf()

		// *************復制 copy****************// copyOf 方法實現數組復制,h為數組,6為復制的長度int[] h = { 1, 2, 3, 3, 3, 3, 6, 6, 6, };int i[] = Arrays.copyOf(h, 6);System.out.println("Arrays.copyOf(h, 6);:");// 輸出結果:123333for (int j : i) {System.out.print(j);}// 換行System.out.println();// copyOfRange將指定數組的指定范圍復制到新數組中int j[] = Arrays.copyOfRange(h, 6, 11);System.out.println("Arrays.copyOfRange(h, 6, 11):");// 輸出結果66600(h數組只有9個元素這里是從索引6到索引11復制所以不足的就為0)for (int j2 : j) {System.out.print(j2);}// 換行System.out.println();

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445312.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445312.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445312.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python(12)-while語句+賦值運算符號+轉義字符

while循環語句1.while基本語法2.break continue3.轉義字符4.賦值運算符5.Print函數輸出換行符號1.while基本語法 循環語句的程序三大流程之一&#xff1a; 順序 --從上到下以順序的方式執行代碼 分支流程–依據條件判斷&#xff0c;決定要執行的代碼分支–豐富代碼形式 循環–…

CNN的幾種經典模型

本文主要介紹一下CNN的幾種經典模型比較。之前自己也用過AlexNet和GoogleNet&#xff0c;網絡上關于各種模型的介紹更是形形色色&#xff0c;自己就想著整理一下&#xff0c;以備自己以后查閱方便 LeNet5 先放一張圖&#xff0c;我感覺凡是對深度學習有涉獵的人&#xff0c;對…

阿里Java編程規約(命名風格、常量定義、代碼格式)

命名風格 1、【強制】代碼中的命名均不能以下劃線或美元符號開始&#xff0c;也不能以下劃線或美元符號結束。 反例&#xff1a;_name / __name / $name / name_ / name$ / name__ 2、【強制】代碼中的命名嚴禁使用拼音與英文混合的方式&#xff0c;更不允許直接使用中文的方…

PaperNotes(2)-Generative Adversarial Net-代碼實現資料

Generative Adversarial Nets-生成對抗網絡Abstract1.Introduction2.Related work3.Adversarial nets4.Theoretical Results4.1全局最優 pgpdatap_gp_{data}pg?pdata?4.2算法1的收斂性質5.Experiments6.Advantagesa and disadvantages7.Conclusions and future work8.GAN-代碼…

深度學習(05)--典型CNN結構(VGG13,16,19)

文章目錄目錄1.VGG結構2.VGG結構解釋3.3*3卷積核的優點4.VGG的muti-scale方法5.VGG的應用目錄 1.VGG結構 ? LeNet5用大的卷積核來獲取圖像的相似特征 ? AlexNet用99、1111的濾波器 ? VGG 巨大的進展是通過依次采用多個 33 卷積&#xff0c;模仿出更大的感受野&#xff08;r…

redis——發布和訂閱

頻道的訂閱和退訂 當一個客戶端執行 SUBSCRIBE 命令&#xff0c; 訂閱某個或某些頻道的時候&#xff0c; 這個客戶端與被訂閱頻道之間就建立起了一種訂閱關系。 Redis 將所有頻道的訂閱關系都保存在服務器狀態的 pubsub_channels 字典里面&#xff0c; 這個字典的鍵是某個被訂…

Pytorch(1)-內置/自己設計的損失函數使用

內置/自己設計的損失函數使用對比1.內置損失函數2.自己設計損失函數Pytorch內置了許多常用的損失函數&#xff0c;但是&#xff0c;實際應用中&#xff0c;往往需要依據不同的需求設計不同的損失函數。本篇博文對比總結了使用 內置和 自己設計損失函數的語法規則流程。1.內置損…

redis——事務

Redis 事務可以一次執行多個命令&#xff0c; 并且帶有以下三個重要的保證&#xff1a; 批量操作在發送 EXEC 命令前被放入隊列緩存。收到 EXEC 命令后進入事務執行&#xff0c;事務中任意命令執行失敗&#xff0c;其余的命令依然被執行。在事務執行過程&#xff0c;其他客戶端…

深度學習(06)-- Network in Network(NIN)

文章目錄目錄1.NIN 結構2.MLP卷積3.全局均值池化4.總體網絡架構5.NIN補充5.1 廣義線性模型&#xff08;GLM&#xff09;的局限性5.2 CCCP層5.3 1*1卷積核作用&#xff08;補充&#xff09;6.手勢識別RGB圖像--NIN結構目錄 1.NIN 結構 2.MLP卷積 傳統CNN的局部感受野窗口的運算…

Pytorch(2)-tensor常用操作

tensor常用數學操作1. 隨機數1.1 torch.rand() - 均勻分布數字1.2 torch.randn() - 正態分布數字2. 求和2.1 torch.sum(data, dim)2.2 numpy.sum(data, axis)3. 求積3.1 點乘--對應位置相乘3.2 矩陣乘法4. 均值、方差4.1 torch tensor.mean() .std()4.2 numpy array.mean() .st…

Java編程規約(OOP)

1、【強制】避免通過一個類的對象引用訪問此類的靜態變量或靜態方法&#xff0c;無謂增加編譯器解析 成本&#xff0c;直接用類名來訪問即可。 2、【強制】所有的覆寫方法&#xff0c;必須加Override 注解。 說明&#xff1a;getObject()與 get0bject()的問題。一個是字母的…

深度學習(07)-- 經典CNN網絡結構(Inception (v1-v4))

文章目錄目錄1.Inception介紹1.1 Inception結構1.2 Inception V1(GoogleNet)1.3 Inception V2(Batch Norm)1.4 Inception V3&#xff08;Factorization&#xff09;1.5 Inception V4&#xff08;ResNet&#xff09;1.5 Inception v1~v4 總結1.6 Inception進階2.Inception實現目…

Python(13)-函數,lambda語句

函數1 函數定義2 函數調用3 函數注釋文檔4 函數參數4.1 參數列表,默認參數,任意參數4.1.1 無缺省值參數4.1.2&#xff08;部分&#xff09;缺省值參數4.1.3 數量不定形參數4.2 可變對象和不可變對象4.3 作用域4.3.1 globals()函數4.3.2 global 聲明變量為全局變量5 函數返回值5…

深度學習(08)-- Residual Network (ResNet)

文章目錄目錄1.殘差網絡基礎1.1基本概念1.2VGG19、ResNet34結構圖1.3 梯度彌散和網絡退化1.4 殘差塊變體1.5 ResNet模型變體1.6 Residual Network補充1.7 1*1卷積核&#xff08;補充&#xff09;2.殘差網絡介紹&#xff08;何凱明&#xff09;3.ResNet-50(Ng)3.1 非常深的神經網…

Python(14)-模塊

模塊Python標準庫&#xff0c;第三方庫都是一個個模塊&#xff0c;我們還可以編寫自己的模塊。模塊python程序架構的核心模塊&#xff0c;模塊是一個工具包。 每一個以.py為擴展名的源代碼文件都是一個模塊。 想要使用工具包中的工具&#xff0c;可以使用Import的方式導入。 …

redis——命令請求的執行過程

發送命令請求 當用戶在客戶端中鍵入一個命令請求時&#xff0c; 客戶端會將這個命令請求轉換成協議格式&#xff0c; 然后通過連接到服務器的套接字&#xff0c; 將協議格式的命令請求發送給服務器。 讀取命令請求 當客戶端與服務器之間的連接套接字因為客戶端的寫入而變得可…

深度學習(09)-- DenseNet

文章目錄目錄1.DenseNet網絡結構2.稠密連接及其優點3.代碼實現4.補充說明目錄 1.DenseNet網絡結構 2.稠密連接及其優點 每層以之前層的輸出為輸入&#xff0c;對于有L層的傳統網絡&#xff0c;一共有L個連接&#xff0c;對于DenseNet&#xff0c;則有L*(L1)/2。 這篇論文主要…

redis——緩存擊穿/穿透/雪崩

緩存穿透 一般的緩存系統&#xff0c;都是按照key去緩存查詢&#xff0c;如果不存在對應的value&#xff0c;就去后端系統查找&#xff08;比如DB&#xff09;。 一些惡意的請求會故意查詢不存在的key,請求量很大&#xff0c;就會對后端系統造成很大的壓力。這就叫做緩存穿透…

python(15)-window7配置iPython

前提&#xff1a;安裝了Pythonanaconda anaconda安裝參考&#xff1a;https://www.zhihu.com/question/58033789 在window系統下可以使用兩種方法來實現類似與于Linux終端命令運行程序的方法&#xff08;推薦方式2&#xff09;: 1.cmd:自己沒有操作過&#xff0c;可以參考下面…

深度學習(10)-- Capsules Networks(CapsNet)

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/malele4th/article/details/79430464 </div><div id"content_views" class"markdown_views"><!-- flowchart 箭頭圖標 勿刪 --&g…