java 中java.util.Arrays類---常用函數記錄


java.util.Arrays主要是用來對數組進行操作的類,主要包括以下方法:

1.數組轉化列表,得到固定大小的列表,Arrays.asList(...);

public static <T> List<T> asList(T... a)
返回一個受指定數組支持的固定大小的列表。(對返回列表的更改會“直接寫”到數組。)此方法同  Collection.toArray() 一起,充當了基於數組的 API 與基於 collection 的 API 之間的橋梁。返回的列表是可序列化的,並且實現了  RandomAccess

此方法還提供了一個創建固定長度的列表的便捷方法,該列表被初始化為包含多個元素:

     List<String> stooges = Arrays.asList("Larry", "Moe", "Curly");

2.數組中查找元素(二分法查找),必須確保數組用sort()排過序,Arrays.binarySearch(byte[] a, int fromIndex, int toIndex, byte key) ;

(1)public static int binarySearch(byte[] a,byte key)

使用二分搜索法來搜索指定的 byte 型數組,以獲得指定的值。必須在進行此調用之前對數組進行排序(通過  sort(byte[]) 方法)。如果沒有對數組進行排序,則結果是不確定的。如果數組包含多個帶有指定值的元素,則無法保證找到的是哪一個。

(2)public static int binarySearch(byte[] a,int fromIndex,int toIndex, byte key)

使用二分搜索法來搜索指定的 byte 型數組的范圍,以獲得指定的值。必須在進行此調用之前對范圍進行排序(通過  sort(byte[], int, int) 方法)。如果沒有對范圍進行排序,則結果是不確定的。如果范圍包含多個帶有指定值的元素,則無法保證找到的是哪一個。

3.計算數組的哈希碼,Arrays.hashCode(...);

4.復制數組內容,Arrays.copyOf(boolean[] original, int newLength) 

public static int[] copyOf(int[] original,int newLength)
復制指定的數組,截取或用 0 填充(如有必要),以使副本具有指定的長度。對於在原數組和副本中都有效的所有索引,這兩個數組將包含相同的值。對於在副本中有效而在原數組無效的所有索引,副本將包含  0。當且僅當指定長度大於原數組的長度時,這些索引存在。

5.自定義要復制的數組內容,Arrays.copyOfRange(boolean[] original, int from, int to) 

public static <T> T[] copyOfRange(T[] original,int from,int to)
將指定數組的指定范圍復制到一個新數組。該范圍的初始索引 (  from) 必須位於 0 和  original.length(包括)之間。  original[from] 處的值放入副本的初始元素中(除非  from == original.length 或  from == to)。原數組中后續元素的值放入副本的后續元素。該范圍的最后索引 (  to)(必須大於等於  from)可以大於  original.length,在這種情況下,  null 被放入索引大於等於  original.length - from 的副本的所有元素中。返回數組的長度為  to - from

所得數組與原數組屬於完全相同的類。

6.兩個數組內容比較,Arrays.equals(boolean[] a, boolean[] a2) 

public static boolean equals(boolean[] a, boolean[] a2)
如果兩個指定的 boolean 型數組彼此  相等,則返回  true。如果兩個數組包含相同數量的元素,並且兩個數組中的所有相應元素對都是相等的,則認為這兩個數組是相等的。換句話說,如果兩個數組以相同順序包含相同的元素,則兩個數組是相等的。此外,如果兩個數組引用都為  null,則認為它們是相等的。

7.向數組中填值,Arrays.fill(boolean[] a, boolean val) 

(1)public static void fill(byte[] a, byte val)
將指定的 byte 值分配給指定 byte 節型數組的每個元素。
(2)public static void fill(byte[] a,int fromIndex,int toIndex,byte val)
將指定的 byte 值分配給指定 byte 型數組指定范圍中的每個元素。填充的范圍從索引  fromIndex(包括)一直到索引  toIndex(不包括)。(如果  fromIndex==toIndex,則填充范圍為空。)

8.數組排序Arrays.sort()

  (1)public static void sort(byte[] a)

  對指定的 byte 型數組按數字升序進行排序。

  (2)public static void sort(byte[] a,int fromIndex,int toIndex)

  對指定 byte 型數組的指定范圍按數字升序進行排序。排序的范圍從索引 fromIndex(包括)一直到索引 toIndex(不包括)。(如果fromIndex==toIndex,則排序范圍為空。)

9.數組轉為字符串toString(byte[] a) 

public static String toString(float[] a)
返回指定數組內容的字符串表示形式。字符串表示形式由數組的元素列表組成,括在方括號( "[]")中。相鄰元素用字符 ", "(逗號加空格)分隔。這些元素通過 String.valueOf(byte) 轉換為字符串。如果 a 為 null,則返回 "null"
如:
import java.util.Arrays;

public class test5 {
	public static void main(String[] args) {
		int[] num = {1,-2,3,10,-4,7,2,-5};
                System.out.println(Arrays.toString(num));
		System.out.println(Arrays.toString(num).split(",").length);
		for (String s : Arrays.toString(num).split(",")){
			System.out.println(s);
		}

 }
}
輸出為:
[1, -2, 3, 10, -4, 7, 2, -5]
8
[1
 -2
 3
 10
 -4
 7
 2
 -5]

  



 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM