中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      Java數(shù)組定義常用方法

      時(shí)間:2024-09-28 01:42:21 JAVA認(rèn)證 我要投稿
      • 相關(guān)推薦

      Java數(shù)組定義常用方法

        Java中的數(shù)組、是一種簡(jiǎn)單的線性數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、他用犧牲自動(dòng)擴(kuò)展大小來(lái)?yè)Q取與集合相比的唯一優(yōu)勢(shì)——查詢(xún)效率的提升。Java中的數(shù)組有什么類(lèi)型?我們要怎么定義這些數(shù)組呢?下面跟yjbys小編一起來(lái)學(xué)習(xí)Java數(shù)組定義常用方法吧!

        java中有兩種數(shù)據(jù)類(lèi)型:

        a)引用類(lèi)型

        b)基礎(chǔ)類(lèi)型

        其中基礎(chǔ)類(lèi)型又有兩種:

        b1)數(shù)值類(lèi)型

        b2)及布爾類(lèi)型。

        數(shù)組——也為java的一個(gè)數(shù)據(jù)類(lèi)型、歸類(lèi)為引用類(lèi)型。本文意圖說(shuō)清楚兩點(diǎn):

        1、數(shù)組的聲明以及初始化。

        2、常用的數(shù)組方法。

        補(bǔ)充一點(diǎn):對(duì)于我們常說(shuō)的二維數(shù)組、多維數(shù)組其實(shí)是一維數(shù)組的延伸、這里暫時(shí)只圍繞一維數(shù)組。

        【數(shù)組的聲明及初始化】

        1、數(shù)組的聲明:

        作為一種引用類(lèi)型、就如我們平常使用引用類(lèi)型的時(shí)候聲明一樣、一般有兩種寫(xiě)法:

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

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

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

        2、數(shù)組的初始化:

        數(shù)組的初始化有兩種:

        a) 靜態(tài)初始化——數(shù)組大小由系統(tǒng)分配、我們只為數(shù)組每個(gè)位置上賦值

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

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

        b)動(dòng)態(tài)初始化——只指定數(shù)值的大小、初始化工作由系統(tǒng)為我們完成(即為數(shù)組的每個(gè)位置賦初始值)

        String[] strArray3 = new String[5];//此時(shí)String數(shù)組的每個(gè)位置上的值都由系統(tǒng)來(lái)初始化、使用默認(rèn)的值""

        //我們能做的是動(dòng)態(tài)的為strArray3每個(gè)位置上的值進(jìn)行修改

        for (int i = 0; i < strArray1.length; i++) {

        //這里僅用原始的方法進(jìn)行賦值。

        strArray3[i] = strArray1[i];

        }

        【數(shù)組的常用方法】

        package com.chy.array.usefulMethods;

        import java.util.ArrayList;

        import java.util.Arrays;

        import java.util.Collections;

        import java.util.HashSet;

        import java.util.Set;

        import com.chy.array.bean.Student;

        @SuppressWarnings("all")

        public class ArrayUseFulMethoed {

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

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

        /**

        * 填充元素、比較大小、復(fù)制元素

        */

        public static void testFillArray(){

        //注意字符串和對(duì)象的不同

        Student[] student1 = new Student[4];

        Student[] student2 = new Student[4];

        System.out.println(Arrays.equals(student1, student2));//true

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

        Arrays.fill(student2, new Student(1,"chy"));

        System.out.println(Arrays.equals(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")};

        Arrays.fill(str1, "a");

        System.out.println(Arrays.equals(str1, str2));//true

        System.out.println(Arrays.equals(str2, str3));//true

        String[] str4 = Arrays.copyOf(str1, 2);//是將傳入的數(shù)組拷貝len個(gè)元素到新的數(shù)組、相當(dāng)于復(fù)制本身的一部分或者全部形成一個(gè)全新的數(shù)組

        System.out.println(str4.length + "=======" + Arrays.toString(str4));// 2=======[a, a]

        String[] str5 = new String[8];

        System.arraycopy(str4, 0, str5, 6, 2);//是將str4從下標(biāo)0開(kāi)的2個(gè)元素拷貝到從下標(biāo)6開(kāi)始放置的數(shù)組str5中

        System.out.println(str5.length + "=======" + Arrays.toString(str5));// 8=======[null, null, null, null, null, null, a, a]

        }

        /**

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

        */

        public static void printOriginalArray(){

        String intArrayToString = Arrays.toString(intArray);

        System.out.println(intArrayToString); //result: [1, 2, 3, 4, 5]

        }

        /**

        * 將數(shù)組轉(zhuǎn)化成List集合

        * 注意:不能直接將int[]轉(zhuǎn)化為集合、因?yàn)閍sList()方法的參數(shù)必須是對(duì)象。應(yīng)該先把int[]轉(zhuǎn)化為Integer[]。

        * 對(duì)于其他primitive類(lèi)型的數(shù)組也是如此,必須先轉(zhuǎn)換成相應(yīng)的wrapper類(lèi)型數(shù)組。

        */

        public static void convetArrayToList(){

        Integer[] integerArray = new Integer[intArray.length];

        for (int i = 0; i < integerArray.length; i++) {

        integerArray[i] = intArray[i];

        }

        ArrayList integerList1 = new ArrayList(Arrays.asList(integerArray));

        /*

        * 不能寫(xiě)成下面:

        * ArrayList integerList2 = (ArrayList)Arrays.asList(integerArray);

        * 返回的是List、強(qiáng)轉(zhuǎn)可以通過(guò)編譯、但是不能正常使用。

        */

        for(int i : integerList1){

        System.out.print(i);

        }

        //result: 12345

        System.out.println();

        }

        /**

        * 將List集合轉(zhuǎn)換成數(shù)組

        */

        public static void convetListToArray(){

        ArrayList strList = new ArrayList(Arrays.asList(strArray));

        String[] strArrayFromList = new String[strList.size()];

        strList.toArray(strArrayFromList);

        System.out.println(Arrays.toString(strArrayFromList)); //result: [a, b, c, d, e]

        /*

        * 注意:不能寫(xiě)成這樣:String[] strArrayFromList = (String[])strList.toArray(strArrayFromList);會(huì)拋出ClassCastException。

        * List.toArray()與List.toArray(T[] t)的區(qū)別在于:

        * List.toArray()返回的是一個(gè)Object[]、不能強(qiáng)轉(zhuǎn)成String[]、強(qiáng)轉(zhuǎn)的話可以通過(guò)編譯、但是不能進(jìn)行String[]的操作

        * 而List.toArray(T[] t)會(huì)將list的值轉(zhuǎn)換成T類(lèi)型的數(shù)組。

        */

        }

        /**

        * 將數(shù)組轉(zhuǎn)換成Set集合

        */

        public static void convertArrayToSet(){

        Set set = new HashSet(Arrays.asList(strArray));

        //Set具有無(wú)序性、所以輸出結(jié)構(gòu)不一定是原來(lái)數(shù)組元素存放順序

        System.out.println(set); //result: [d, e, b, c, a]

        }

        /**

        * 判斷某個(gè)數(shù)組中是否包含一個(gè)元素、思路:將數(shù)組轉(zhuǎn)換成list使用list的contains方法

        */

        public static void isContainObject(){

        ArrayList strList = new ArrayList(Arrays.asList(strArray));

        System.out.println(strList.contains("a")); //result: true

        //另一種實(shí)現(xiàn)

        Arrays.sort(strArray);

        if(Arrays.binarySearch(strArray, "c") >= 0){

        System.out.println(true);

        }else{

        System.out.println(false);

        }

        }

        /**

        * 將兩個(gè)相同類(lèi)型的數(shù)組連接起來(lái)

        */

        public static void connTwoSameArray(){

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

        }

        /**

        * 將數(shù)組中數(shù)據(jù)排序

        */

        public static void sortArray(){

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

        Arrays.sort(str);

        System.out.println(Arrays.toString(str));

        //反序、

        Arrays.sort(str, Collections.reverseOrder());

        System.out.println(Arrays.toString(str));

        }

        public static void main(String[] args) {

        /*printOriginalArray();

        convetArrayToList();

        convetListToArray();

        isContainObject();

        convertArrayToSet();

        sortArray();*/

        testFillArray();

        }

        }

      【Java數(shù)組定義常用方法】相關(guān)文章:

      Java數(shù)組操作方法大全08-22

      2016年java數(shù)組操作方法大全06-19

      JavaScript數(shù)組常用方法介紹09-04

      Java枚舉的常用方法10-05

      c語(yǔ)言字符數(shù)組使用方法10-14

      Java線程同步的方法10-25

      Java中日期的處理方法09-03

      JAVA認(rèn)證開(kāi)源技術(shù):關(guān)于Java的對(duì)象equals方法06-26

      Java獲取當(dāng)前的系統(tǒng)時(shí)間的方法05-28

      Java開(kāi)發(fā)Tomcat部署項(xiàng)目方法10-13

      主站蜘蛛池模板: 金华市| 伊人av一区二区三区中文字幕| 美女视频很黄很a免费国产| 日本一区二区视频在线播放 | 偷拍熟女亚洲另类| 加勒比在线一区二区三区| 岛国av一区二区三区| 国产三级精品三级在线观看粤语| 97人妻精品一区二区三区免 | 国产女人体一区二区三区| 免青青草免费观看视频在线| 天天射色综合| 国产亚洲青春草在线视频| 日本免费一区二区三区最新| av天堂在线视频播放| 久久高潮少妇视频免费| 91尤物在线看| 91亚洲国产成人久久精品| 偷拍熟女亚洲另类| 亚洲精品中文字幕综合| 无码高潮久久一级一级喷水| 日韩中文字幕久久久经典网| 中文字幕日产人妻久久| 日本韩国黄色三级三级| 国内精品久久久久久久亚洲| av在线观看亚洲天堂| 精品久久久久久午夜| 日产精品一区二区三区免费| 亚洲大尺度视频在线看| 久久视频在线视频精品| 北岛玲精品一区二区三区| 国产精品免费99久久久| 亚洲一区二区三区久久不卡| 在线成人看片免费播放视频| 亚洲精品久久久蜜桃一区| 久久蜜臀一区二区三区av| 国产传媒剧情久久久av| a√无码在线观看| 99久久国产综合精品女乱人伦 | 国产精品色内内在线播放| 手机免费在线观看av网站|