Java——int、double型數組常用操作工具類

来源:http://www.cnblogs.com/zxf-java/archive/2017/08/04/7287092.html
-Advertisement-
Play Games

學了數組之後,感覺有好多操作需要經常去寫,很不方便,因此自己做了一個工具類,方便調用,方法可能不全,希望大家可以添加,讓我使用也方便一點兒。 ...


學了數組之後,感覺有好多操作需要經常去寫,很不方便,因此自己做了一個工具類,方便調用,方法可能不全,希望大家可以添加,讓我使用也方便一點兒。

  1 public class ArrayUtils {
  2 //求數組的最大值(int)
  3     public static int getMax(int[] arr){
  4         int max = arr[0];
  5         for(int i = 0;i<arr.length;i++){
  6             if(max<arr[i]){
  7                 max = arr[i];
  8             }
  9         }
 10         return max;
 11     }
 12 //求數組的最小值(int)
 13     public static int getMin(int[] arr){
 14         int min = arr[0];
 15         for(int i = 0;i<arr.length;i++){
 16             if(min>arr[i]){
 17                 min = arr[i];
 18             }
 19         }
 20         return min;
 21     }
 22 //得到數組最大值的下標(int)
 23     public static int getMaxIndex(int[] arr){
 24         int maxIndex = 0;
 25         for(int i = 0;i <arr.length;i++){
 26             if(arr[maxIndex]<arr[i]){
 27                 maxIndex = i;
 28             }
 29         }
 30         return maxIndex;
 31     }
 32 //得到數組最小值的下標(int)
 33     public static int getMinIndex(int[] arr){
 34         int minIndex = 0;
 35         for(int i = 0;i <arr.length;i++){
 36             if(arr[minIndex]>arr[i]){
 37                 minIndex = i;
 38             }
 39         }
 40         return minIndex;
 41     }
 42 //獲得數組之和(int)
 43     public static int getSum(int[] arr){
 44         int sum = 0;
 45         for(int i = 0; i < arr.length;i++){
 46             sum += arr[i];
 47         }
 48         return sum;    
 49     }
 50 //獲得平均值(int)
 51     public static int getAverage(int[] arr){
 52         int avg = getSum(arr)/arr.length;
 53         return avg;
 54     }
 55 //列印數組(int)
 56     public static void printArray(int[] arr){
 57         for(int i = 0;i<arr.length;i++){
 58             if(i!=arr.length-1){
 59                 System.out.print(arr[i]+",");
 60             }else{
 61                 System.out.println(arr[i]);
 62             }
 63         }
 64     }
 65 //選擇排序對數據進行降序排序(int)
 66             public static void selectSortDescendingArray(int[] arr){
 67                 for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最後一個不用比較
 68                     for(int j = i+1;j<arr.length;j++){
 69                         if(arr[i]<arr[j]){
 70                             int temp = arr[j];
 71                             arr[j] = arr[i];
 72                             arr[i] = temp;
 73                          }
 74                     }
 75                 }
 76             }
 77 //選擇排序對數據進行升序排序(int)
 78             public static void selectSortAscendingArray(int[] arr){
 79                 for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最後一個不用比較
 80                     for(int j = i+1;j<arr.length;j++){
 81                         if(arr[i]>arr[j]){
 82                             int temp = arr[j];
 83                             arr[j] = arr[i];
 84                             arr[i] = temp;
 85                          }
 86                     }
 87                 }
 88             }
 89 //冒泡排序對數據進行降序排序(int)
 90         public static void bubbleSortDescendingArray(int[] arr){
 91             for(int i = 0;i<arr.length-1;i++){
 92                 for(int j = 0;j<arr.length-1-i;j++){
 93                     if(arr[j]<arr[j+1]){
 94                         int temp = arr[j+1];
 95                         arr[j+1] = arr[j];
 96                         arr[j] = temp;
 97                         }
 98                 }
 99             }
100         }
101 //冒泡排序對數據進行升序排序(int)
102         public static void bubbleSortAscendingArray(int[] arr){
103             for(int i = 0;i<arr.length-1;i++){
104                 for(int j = 0;j<arr.length-1-i;j++){
105                     if(arr[j]>arr[j+1]){
106                         int temp = arr[j+1];
107                         arr[j+1] = arr[j];
108                         arr[j] = temp;
109                         }
110                 }
111             }
112         }
113 //二分查找(int)
114         public static int binarySearch(int[] arr,int key){
115             int min,mid,max;
116             min = 0;
117             max = arr.length-1;
118             while(arr[min]<arr[max]){
119                 mid = (min+max)/2;
120                 if(key>arr[mid]){
121                     min = mid+1;
122                 }else if(key<arr[mid]){
123                     max = mid-1;
124                 }else {
125                     return mid;
126                 }
127             }
128             return -1;
129         }
130 //*********************************************************************
131         
132 //求數組的最大值(double)
133     public static double getMax(double[] arr){
134         double max = arr[0];
135         for(int i = 0;i<arr.length;i++){
136             if(max<arr[i]){
137                 max = arr[i];
138             }
139         }
140         return max;
141     }
142 //求數組的最小值(double)
143         public static double getMin(double[] arr){
144             double min = arr[0];
145             for(int i = 0;i<arr.length;i++){
146                 if(min>arr[i]){
147                     min = arr[i];
148                 }
149             }
150             return min;
151         }
152 //得到數組最大值的下標(double)
153         public static int getMaxIndex(double[] arr){
154             int maxIndex = 0;
155             for(int i = 0;i <arr.length;i++){
156                 if(arr[maxIndex]<arr[i]){
157                     maxIndex = i;
158                 }
159             }
160             return maxIndex;
161         }
162 //得到數組最小值的下標(double)
163         public static int getMinIndex(double[] arr){
164             int minIndex = 0;
165             for(int i = 0;i <arr.length;i++){
166                 if(arr[minIndex]>arr[i]){
167                     minIndex = i;
168                 }
169             }
170             return minIndex;
171         }
172 //獲得數組之和(double)
173         public static double getSum(double[] arr){
174             double sum = 0;
175             for(int i = 0; i < arr.length;i++){
176                 sum += arr[i];
177             }
178             return sum;    
179         }
180 //獲得平均值(double)
181         public static double getAverage(double[] arr){
182             double avg = getSum(arr)/arr.length;
183             return avg;
184         }
185 //列印數組(double)
186                 public static void printArray(double[] arr){
187                     for(int i = 0;i<arr.length;i++){
188                         if(i!=arr.length-1){
189                             System.out.print(arr[i]+",");
190                         }else{
191                             System.out.println(arr[i]);
192                         }
193                     }
194                 }
195 //選擇排序對數據進行降序排序(double)
196         public static void selectSortDescendingArray(double[] arr){
197             for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最後一個不用比較
198                 for(int j = i+1;j<arr.length;j++){
199                     if(arr[i]<arr[j]){
200                         double temp = arr[j];
201                         arr[j] = arr[i];
202                         arr[i] = temp;
203                      }
204                 }
205             }
206         }
207 //選擇排序對數據進行升序排序(double)
208         public static void selectSortAscendingArray(double[] arr){
209             for(int i = 0; i<arr.length-1;i++){//i<arr.length-1;最後一個不用比較
210                 for(int j = i+1;j<arr.length;j++){
211                     if(arr[i]>arr[j]){
212                         double temp = arr[j];
213                         arr[j] = arr[i];
214                         arr[i] = temp;
215                      }
216                 }
217             }
218         }
219 //冒泡排序對數據進行降序排序(double)
220     public static void bubbleSortDescendingArray(double[] arr){
221         for(int i = 0;i<arr.length-1;i++){
222             for(int j = 0;j<arr.length-1-i;j++){
223                 if(arr[j]<arr[j+1]){
224                     double temp = arr[j+1];
225                     arr[j+1] = arr[j];
226                     arr[j] = temp;
227                     }
228             }
229         }
230     }
231 //冒泡排序對數據進行升序排序(double)
232     public static void bubbleSortAscendingArray(double[] arr){
233         for(int i = 0;i<arr.length-1;i++){
234             for(int j = 0;j<arr.length-1-i;j++){
235                 if(arr[j]>arr[j+1]){
236                     double temp = arr[j+1];
237                     arr[j+1] = arr[j];
238                     arr[j] = temp;
239                     }
240             }
241         }
242     }
243 //二分查找(double)
244             public static int binarySearch(double[] arr,double key){
245                 int min,mid,max;
246                 min = 0;
247                 max = arr.length-1;
248                 while(arr[min]<arr[max]){
249                     mid = (min+max)/2;
250                     if(key>arr[mid]){
251                         min = mid+1;
252                     }else if(key<arr[mid]){
253                         max = mid-1;
254                     }else {
255                         return mid;
256                     }
257                 }
258                 return -1;
259             }
260 
261 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、break break是終止本次迴圈,比如你很多個while迴圈,你在其中一個while迴圈里寫了一個break,滿足條件,只會終止這個while裡面的迴圈,程式會跳到上一層while迴圈繼續往下走 以簡單的for迴圈來舉例 ...
  • from flask import Flask,make_response,jsonify,request,url_for,g from flask_restful import reqparse, abort, Api, Resource from flask_httpauth import HT... ...
  • Java 記憶體區域和GC機制 目錄 Java垃圾回收概況 Java記憶體區域 Java對象的訪問方式 Java記憶體分配機制 Java GC機制 垃圾收集器 Java垃圾回收概況 Java GC(Garbage Collection,垃圾收集,垃圾回收)機制,是Java與C++/C的主要區別之一,作為J ...
  • 總結:本篇博客介紹使用gregwar/captcha實現驗證碼的具體操作步驟,以及可能遇到的問題和解決辦法。 操作步驟: 1, 在laravel5.4項目根目錄下找到 composer.json 這個文件, 添加 "gregwar/captcha": "1.*" 到composer.json這個文件 ...
  • 簡單的寫了一個爬取www.seebug.org上poc的小玩意兒~ 首先我們進行一定的抓包分析 我們遇到的第一個問題就是seebug需要登錄才能進行下載,這個很好處理,只需要抓取返回值200的頁面,將我們的headers信息複製下來就行了 (這裡我就不放上我的headers信息了,不過headers ...
  • Lua語言是一門非常小巧精悍的腳本語言,是C/C++天然的好伴侶。這門語言非常的簡單,但是卻有很多語法細節與C語系不同。熟悉C語系語言的同學們剛接觸這門語言的話,可能會因為數組下標從1開始等原因而感到憤怒。這些細節在剛上手的時候全部記下來確實有些困難。湊巧,我也經歷了這麼一個過程。所以在這裡我就把我... ...
  • 閱讀目錄 Checkbutton Radiobutton LabelFrame checkbutton : 說明:多選框控制項,用於在程式中提供多項選擇框,但是處理“多選一”的問題,還是交給 Radiobutton 或 Listbox 組件來實現吧。 用法:使用 Checkbutton,你必須創建一個 ...
  • 作者:溫學良 鏈接:https://www.zhihu.com/question/21416727/answer/82511153 來源:知乎 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。 Web伺服器習慣處理靜態頁面,所以需要一個程式來幫忙處理動態請求(如當前時間)。Web ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...