Java數組操作方法大全

下面是yjbys小編精心整理的Java數組操作的10大方法,大部分代碼都來自Stack Overflow。希望對學習java的同學們有幫助哦!

Java數組操作方法大全

  0、定義一個Java數組

String[] aArray = new String[5];

String[] bArray = {"a","b","c", "d", "e"};

String[] cArray = new String[]{"a","b","c","d","e"};

第一種是定義了一個數組,並且指定了數組的長度,我們這裏稱它爲動態定義。

第二種和第三種在分配內存空間的同時還初始化了值。

  1、打印Java數組中的元素

int[] intArray = { 1, 2, 3, 4, 5 };

String intArrayString = ring(intArray);

// print directly will print reference value

tln(intArray);

// [I@7150bd4d

tln(intArrayString);

// [1, 2, 3, 4, 5]

這裏的重點是說明了Java中數組的'引用和值得區別,第三行直接打印intArray,輸出的是亂碼,因爲intArray僅僅是一個地址引用。第4行輸出的則是真正的數組值,因爲它經過了ring()的轉化。對Java初學者來說,引用和值仍需重視。

  2、從Array中創建ArrayList

String[] stringArray = { "a", "b", "c", "d", "e" };

ArrayList arrayList = new ArrayList(st(stringArray));

tln(arrayList);

// [a, b, c, d, e]

爲什麼要將Array轉換成ArrayList呢?可能是因爲ArrayList是動態鏈表,我們可以更方便地對ArrayList進行增刪改,我們並不需要循環Array將每一個元素加入到ArrayList中,用以上的代碼即可簡單實現轉換。

  3、檢查數組中是否包含某一個值

String[] stringArray = { "a", "b", "c", "d", "e" };

boolean b = st(stringArray)ains("a");

tln(b);

// true

先使用st()將Array轉換成List,這樣就可以用動態鏈表的contains函數來判斷元素是否包含在鏈表中。

  4、連接兩個數組

int[] intArray = { 1, 2, 3, 4, 5 };

int[] intArray2 = { 6, 7, 8, 9, 10 };

// Apache Commons Lang library

int[] combinedIntArray = ll(intArray, intArray2);

ArrayUtils是Apache提供的數組處理類庫,其addAll方法可以很方便地將兩個數組連接成一個數組。

  5、聲明一個數組內鏈

method(new String[]{"a", "b", "c", "d", "e"});

  6、將數組中的元素以字符串的形式輸出

// containing the provided list of elements

// Apache common lang

String j = (new String[] { "a", "b", "c" }, ", ");

tln(j);

// a, b, c

同樣利用StringUtils中的join方法,可以將數組中的元素以一個字符串的形式輸出。

  7、將Array轉化成Set集合

Set set = new HashSet(st(stringArray));

tln(set);

//[d, e, b, c, a]

在Java中使用Set,可以方便地將需要的類型以集合類型保存在一個變量中,主要應用在顯示列表。同樣可以先將Array轉換成List,然後再將List轉換成Set。

  8、數組翻轉

int[] intArray = { 1, 2, 3, 4, 5 };

rse(intArray);

tln(ring(intArray));

//[5, 4, 3, 2, 1]

依然用到了萬能的ArrayUtils。

  9、從數組中移除一個元素

while(!game_over)

{

for each possible move:

count_no_of_merges_for_2-tiles and 4-tiles

choose the move with large number of merges

}

再補充一個:將一個int值轉化成byte數組

byte[] bytes = cate(4)nt(8)y();

for (byte t : bytes) {

at("0x%x ", t);

}