Java Array和Arrays
一:Array與Arrays的區別
1.陣列類Array
Java中最基本的一個儲存結構。
提供了動態建立和訪問 Java 陣列的方法。其中的元素的型別必須相同。
效率高,但容量固定且無法動態改變。
它無法判斷其中實際存有多少元素,length只是告訴我們array的容量。
2. Arrays工具類
Arrays 類是 Java 中提供的一個工具類,在 java.util 包中。該類中包含了一
些方法用來直接運算元組,比如可直接實現陣列的排序、搜尋等。此類還包含
一個允許將陣列作為列表來檢視的靜態工廠。
二:Arrays常用方法
1、sort()
預設由小到大排序,不只對於數值型的可以排序,對於字串等也都可以進行排序
2
對已排序(從小到大排序的)的陣列進行二元搜尋,如果找到指定的值就返回其所在的索引位置,否則返回負值
3、fill()
將陣列的元素全部設定為指定的值
4、equals()
比較兩個陣列元素中的元素值是否全部相等,如果是返回true,否則返回false,適用於一維陣列,多維陣列用deepEquals()用法同equals;
5、deepEquals()
對多維陣列進行比較其內容是否一致,不能用於一維陣列,會編譯不過滴~
6、toString(int[] a)
返回指定陣列內容的字串表示形式。
7、copyOf(int[] original, intnewLength)
複製指定的陣列,擷取或用 0 填充(如有必要),以使副本具有指定的長度。
8、copyOfRange(int[] original, intfrom, int to)
將指定陣列的指定範圍複製到一個新陣列。
9、asList(array)
利用Arrays.asList(array)將返回一個List,然而這個返回的List並不支援add和
remove的操作。返回的List進行新增或刪除時將會報
java.lang.UnsupportedOperationException
異常。
原因:在Arrays.asList中,該方法接受一個變長引數,一般可看做陣列引數,但是因為基本資料型別,
如int[] 本身就是一個型別,所以data變數作為引數傳遞時,編譯器認為只傳了一個變數,這個變數的
型別是int陣列,所以size為1。
因為是arrays.aslist中,看程式碼可以看到這裡返回的ArrayList不是原來的傳統意義上的java.util.arraylist了
,而是自己工具類的一個靜態私有內部類,並沒有提供add方法,要自己實現,所以這裡是出錯了,因此,
除非確信array.aslist後長度不會增加,否則謹慎使用:List abc=Arrays.asList("a","b","c"),
因為這樣的長度是無法再add的了。
相關推薦
Java Array和Arrays
一:Array與Arrays的區別 1.陣列類Array Java中最基本的一個儲存結構。 提供了動態建立和訪問 Java 陣列的方法。其中的元素的型別必須相同。 效率高,但容量固定且無法動態改變。 它無法判斷其中實際存有多少元素,length只是告訴我們array的容量。 2. Arrays工具類
Java Array和大數據運算
++ str1 info div earch img string tro 數組 1、Array類 ?sort方法,用來對指定數組中的元素進行排序(元素值從小到大進行排序) //源arr數組元素{1,5,9,3,7}, 進行排序後arr數組元素為{1,3,5,7,9}
Java-Collections 和 Arrays
集合框架中的工具類:特點:該工具類中的方法都是靜態的。 Collections:常見方法: 1, 對list進行二分查詢: 前提該集合一定要有序。 int binarySearch(list,key); //必須根據元素自然順序對列表進行升級排序 //要求list 集合中的元素都是
Java陣列和Arrays類
一維陣列的兩種定義方法 一維陣列的三種遍歷方法 import java.util.Arrays; import java.util.Scanner; public class Main { static int maxn = (int) 1e5 + 10;
Java的陣列和list升序,降序,逆序函式Collections.sort和Arrays.sort的使用
list升序,降序,逆序List<Integer>list =new ArrayList<Integer>();//如果list是 5 7 2 6 8 1 41、升序:Collections.sort(list) //list: 1 2 4 5 6 7 82、降序:Collection
Java氣泡排序(Bubble Sort),Array和List排序
Java氣泡排序(Bubble Sort) 原理:比較兩個相鄰的元素,將值大的元素交換至右端。 public class BubbleSortArray { public static void main(String[] args) { // in
Java學習筆記之——String和Arrays常用方法
一、String常用方法 1.subString(int beginIndex,int endIndex) 擷取字串 從beginIndex開始擷取,擷取endIndex-beginIndex的長度 案列: String str=”helloFriend”; str.subString(4,8);&
java:集合框架(Arrays工具類的asList()方法的使用)-陣列和集合互轉
import java.util.ArrayList; import java.util.Arrays; import java.util.List; //陣列轉集合,雖然不能增加或刪除元素,但是可以集
java 中的 Arrays 類的主要方法和屬性說明
java 中的 Arrays類的主要方法和屬性說明 Java提供的 Arrays類裡包含的一些static修飾的方法可以直接運算元組,這個 Arrays類裡包含了如下幾個 static修飾的方法( static修飾的方法可以直接通過類名呼叫) 返回值 函
Java中的集合框架-Collections和Arrays
上一篇《Java中的集合框架-Map》把集合框架中的鍵值對容器Map中常用的知識記錄了一下,本節記錄一下集合框架的兩個工具類Collections和Arrays 一,Collections Collections類中的方法全部都是靜態的,它可以對Collection和Map進行一些操作,並返回這些
Java中System.arraycopy()和Arrays.copyOf()的區別
System.arraycopy() 這是一個由java標準庫提供的方法。用它進行復制陣列比用for迴圈要快的多。 arraycopy()需要的引數有:源陣列,從源陣列中的什麼位置開始複製的偏移量,
為什麼Java裡的Arrays.asList不能用add和remove方法?
在平時的開發過程中,我們知道可以將一個Array的物件轉化為List。這樣的操作,我們只要採用Arrays.asList這個方法就行了。筆者前段時間一直用這個方法,有一天,我發現通過Arrays.asList得到的List無法進行add和remove等操作。 下面是一段很簡
Java-雜項:Java數組Array和集合List、Set、Map
title load 通用方法 數列 == 特殊 上一個 遍歷集合 list集合 之前一直分不清楚java中的array,list。同時對set,map,list的用法徹底迷糊,直到看到了這篇文章,講解的很清楚。 世間上本來沒有集合,(只有數組參考C語言)但有人想要,所以
Java中Array和ArrayList之間的區別
簡單理解 ArrayList是一種可以自動擴充的Array。 Array型別的變數在宣告的同時必須進行例項化(至少得初始化陣列的大小),而ArrayList可以只是先宣告。 Array只能儲存同構的
Java中 System.arraycopy() 和 Arrays.copyOf()方法
index 成員 size obj lis sco 方法測試 新建 -a System.arraycopy() 和 Arrays.copyOf()方法 閱讀源碼的話,我們就會發現 ArrayList 中大量調用了這兩個方法。比如:我們上面講的擴容操作以及add(int in
Java方法之--System.arraycopy方法和Arrays.copyOf()
System.arraycopy方法:如果是陣列比較大,那麼使用System.arraycopy會比較有優勢,因為其使用的是記憶體複製,省去了大量的陣列定址訪問等時間 public static native void arraycopy(Object src, int
java陣列和常用Arrays方法和氣泡排序口訣
陣列基本要素: 識別符號:陣列的名稱,用於區分不同的陣列 陣列元素:向陣列中存放的資料 元素下標:對陣列元素進行編號,從0開始,陣列中的每個元素都可以通過下標來訪問 元素型別:陣列元素的資料型別 陣列長度固定不變,避免越界 使用陣列四步走
java異常和異常體系
urn 執行過程 必須 sys ... 值類型 存在 6.2 結果 16.異常 16.1程序執行過程中出現的影響程序正常運行的現象。 16.2異常語法 try{ //代碼塊 }catch(異常類型 e){ }catch(異常類型2 e2){
java Pattern和Matcher詳解
而且 建議 exc regex 示例 aabb 工廠 sta 數字 結論:Pattern與Matcher一起合作.Matcher類提供了對正則表達式的分組支持,以及對正則表達式的多次匹配支持. 單獨用Pattern只能使用Pattern.matcher(String reg
java File和Byte[]數組 相互轉換
rac ring eno print [] director mkdir int num public class Test { public static void main(String[] args){ String filePath