當前位置:學者齋 >

IT認證 >JAVA認證 >

Java數組定義常用方法

Java數組定義常用方法

Java中的數組、是一種簡單的線性數據存儲結構、他用犧牲自動擴展大小來換取與集合相比的唯一優勢——查詢效率的提升。Java中的數組有什麼類型?我們要怎麼定義這些數組呢?下面跟yjbys小編一起來學習Java數組定義常用方法吧!

Java數組定義常用方法

  java中有兩種數據類型:

a)引用類型

b)基礎類型

其中基礎類型又有兩種:

b1)數值類型

b2)及布爾類型。

數組——也為java的一個數據類型、歸類為引用類型。本文意圖説清楚兩點:

1、數組的聲明以及初始化。

2、常用的數組方法。

補充一點:對於我們常説的二維數組、多維數組其實是一維數組的延伸、這裏暫時只圍繞一維數組。

  【數組的聲明及初始化】

1、數組的聲明:

作為一種引用類型、就如我們平常使用引用類型的時候聲明一樣、一般有兩種寫法:

a) type[] arrayName; exp: String[] strArray;

b) type arrayName[]; exp: String strArray[];

第二種源於C的寫法、由於很容易造成混淆、所以現在基本不使用這種聲明方式了。

2、數組的初始化:

數組的初始化有兩種:

a) 靜態初始化——數組大小由系統分配、我們只為數組每個位置上賦值

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

String[] strArray2 = new String[]{"a", "b", "c", "d", "e"};//在 new String[]中不能指定String數組的大小!

b)動態初始化——只指定數值的大小、初始化工作由系統為我們完成(即為數組的.每個位置賦初始值)

String[] strArray3 = new String[5];//此時String數組的每個位置上的值都由系統來初始化、使用默認的值""

//我們能做的是動態的為strArray3每個位置上的值進行修改

for (int i = 0; i < th; i++) {

//這裏僅用原始的方法進行賦值。

strArray3[i] = strArray1[i];

}

  【數組的常用方法】

package ulMethods;

import yList;

import ys;

import ections;

import Set;

import ;

import ent;

@SuppressWarnings("all")

public class ArrayUseFulMethoed {

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

private static String[] strArray = {"a", "b", "c", "d", "e"};

/**

* 填充元素、比較大小、複製元素

*/

public static void testFillArray(){

//注意字符串和對象的不同

Student[] student1 = new Student[4];

Student[] student2 = new Student[4];

tln(ls(student1, student2));//true

(student1, 0, 4, new Student(1,"chy"));

(student2, new Student(1,"chy"));

tln(ls(student1, student2));//false

String[] str1 = new String[4];

String[] str2 = new String[]{"a", "a", "a", "a"};

String[] str3 = {new String("a"), new String("a"), new String("a"), new String("a")};

(str1, "a");

tln(ls(str1, str2));//true

tln(ls(str2, str3));//true

String[] str4 = Of(str1, 2);//是將傳入的數組拷貝len個元素到新的數組、相當於複製本身的一部分或者全部形成一個全新的數組

tln(th + "=======" + ring(str4));// 2=======[a, a]

String[] str5 = new String[8];

ycopy(str4, 0, str5, 6, 2);//是將str4從下標0開的2個元素拷貝到從下標6開始放置的數組str5中

tln(th + "=======" + ring(str5));// 8=======[null, null, null, null, null, null, a, a]

}

/**

* 以字符串的形式輸出指定數組的“模樣”

*/

public static void printOriginalArray(){

String intArrayToString = ring(intArray);

tln(intArrayToString); //result: [1, 2, 3, 4, 5]

}

/**

* 將數組轉化成List集合

* 注意:不能直接將int[]轉化為集合、因為asList()方法的參數必須是對象。應該先把int[]轉化為Integer[]。

* 對於其他primitive類型的數組也是如此,必須先轉換成相應的wrapper類型數組。

*/

public static void convetArrayToList(){

Integer[] integerArray = new Integer[th];

for (int i = 0; i < th; i++) {

integerArray[i] = intArray[i];

}

ArrayList integerList1 = new ArrayList(st(integerArray));

/*

* 不能寫成下面:

* ArrayList integerList2 = (ArrayList)st(integerArray);

* 返回的是List、強轉可以通過編譯、但是不能正常使用。

*/

for(int i : integerList1){

t(i);

}

//result: 12345

tln();

}

/**

* 將List集合轉換成數組

*/

public static void convetListToArray(){

ArrayList strList = new ArrayList(st(strArray));

String[] strArrayFromList = new String[()];

ray(strArrayFromList);

tln(ring(strArrayFromList)); //result: [a, b, c, d, e]

/*

* 注意:不能寫成這樣:String[] strArrayFromList = (String[])ray(strArrayFromList);會拋出ClassCastException。

* ray()與ray(T[] t)的區別在於:

* ray()返回的是一個Object[]、不能強轉成String[]、強轉的話可以通過編譯、但是不能進行String[]的操作

* 而ray(T[] t)會將list的值轉換成T類型的數組。

*/

}

/**

* 將數組轉換成Set集合

*/

public static void convertArrayToSet(){

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

//Set具有無序性、所以輸出結構不一定是原來數組元素存放順序

tln(set); //result: [d, e, b, c, a]

}

/**

* 判斷某個數組中是否包含一個元素、思路:將數組轉換成list使用list的contains方法

*/

public static void isContainObject(){

ArrayList strList = new ArrayList(st(strArray));

tln(ains("a")); //result: true

//另一種實現

(strArray);

if(rySearch(strArray, "c") >= 0){

tln(true);

}else{

tln(false);

}

}

/**

* 將兩個相同類型的數組連接起來

*/

public static void connTwoSameArray(){

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

}

/**

* 將數組中數據排序

*/

public static void sortArray(){

String[] str = {"c", "a" ,"d" ,"z" };

(str);

tln(ring(str));

//反序、

(str, rseOrder());

tln(ring(str));

}

public static void main(String[] args) {

/*printOriginalArray();

convetArrayToList();

convetListToArray();

isContainObject();

convertArrayToSet();

sortArray();*/

testFillArray();

}

}

標籤: JAVA 數組
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-mo/itrz/java/qv4p5r.html