第一夜——數(shù)組與集合——Arrays

簡介

大家好,我是平頭哥畴蹭。今天給大家分享的是java中的數(shù)組array呢铆。
java中的數(shù)組(array)是一種較高級的數(shù)據(jù)結(jié)構(gòu)類型,它是相同類型變量的集合谋币,可以使用共同的名字對它進行引用。數(shù)組可以是一維的症概,也可以是多維的蕾额,我們可以通過數(shù)組下標對其中的元素進行訪問。

數(shù)組的使用

  • 給數(shù)組賦值穴豫。通過fill方法可以給數(shù)組中的某段元素賦上相同值凡简。
  • 對數(shù)組排序。通過sort方法對數(shù)組中的某段元素排序精肃。
  • 數(shù)組比較秤涩。通過equals方法比較兩個數(shù)組,判斷數(shù)組中的元素值是否相同司抱。
  • 查找數(shù)組元素筐眷。通過binarySearch方法能對排過序的數(shù)組進行二分法查找。

實例代碼

import java.util.Arrays;

/**
 * Created by MXi4oyu on 2018/11/4.
 */
public class learn_array {

    /**
     * 整型數(shù)組的輸出
     * @param array 待輸出的數(shù)組
     */
    public static void outputArray(int [] array){

        if (array!=null){

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

                System.out.print(array[i]+"    ");
            }

            System.out.println();
        }
    }

    public static void main(String [] args){

        //1习柠、填充數(shù)組匀谣,將array0中所有元素的值賦值為1
        int [] array0 = new int[5];

        Arrays.fill(array0,1);
        System.out.println("執(zhí)行Arrays.fill(array0,1)后照棋,array0中的值為:");
        outputArray(array0);

        //2、給數(shù)組賦值武翎,將array0中的第2~3個元素賦值為8
        Arrays.fill(array0,2,4,8);
        System.out.println("執(zhí)行Arrays.fill(array0,2,4,8)后烈炭,array0中的值為:");
        outputArray(array0);

        //3、對數(shù)組排序,對數(shù)組中的第2~6個元素進行排序
        int [] array1 = new int[]{7,8,3,12,6,3,5,4};
        Arrays.sort(array1,2,7);
        System.out.println("執(zhí)行Arrays.sort(array1,2,7)后宝恶,array1中的值為:");
        outputArray(array1);
        //4符隙、對整個數(shù)組進行排序
        Arrays.sort(array1);
        System.out.println("執(zhí)行Arrays.sort(array1)后,array1中的值為:");
        outputArray(array1);

        //5垫毙、比較數(shù)組元素是否相等
        System.out.println("array0與array1是否相等:");
        System.out.println(Arrays.equals(array0,array1));

        int [] array2 = (int[]) array1.clone();
        System.out.println("array1與array2是否相等:");
        System.out.println(Arrays.equals(array1,array2));

        //6霹疫、使用二分法在數(shù)組中查找指定元素所在的下標(數(shù)組必須是排好序的,否則結(jié)果不正確)
        Arrays.sort(array1);
        System.out.println("元素8在array1中的位置:"+Arrays.binarySearch(array1,8));
        //如果元素不存在數(shù)組中综芥,則二分法查找結(jié)果為負數(shù)
        System.out.println("元素9在array1中的位置:"+Arrays.binarySearch(array1,9));

    }

}

輸出結(jié)果:

執(zhí)行Arrays.fill(array0,1)后丽蝎,array0中的值為:
1    1    1    1    1    
執(zhí)行Arrays.fill(array0,2,4,8)后,array0中的值為:
1    1    8    8    1    
執(zhí)行Arrays.sort(array1,2,7)后膀藐,array1中的值為:
7    8    3    3    5    6    12    4    
執(zhí)行Arrays.sort(array1)后屠阻,array1中的值為:
3    3    4    5    6    7    8    12    
array0與array1是否相等:
false
array1與array2是否相等:
true
元素8在array1中的位置:6
元素9在array1中的位置:-8

源碼解析

  • 使用Arrays的fill方法對數(shù)組賦值時,可以指定啟始位置begin和終止位置end额各。這將只給下標在[begin,end)區(qū)間的數(shù)組元素賦值栏笆。注意:下標為end的元素不會被賦值。[begin,end)是半開區(qū)間臊泰。

  • 使用Arrays的sort方法對數(shù)組進行排序時,也可以設(shè)定啟始位置和終止位置蚜枢。對區(qū)間[begin,end)內(nèi)的數(shù)組進行排序缸逃,下標為end的元素不參與排序。sort方法按升序進行排序厂抽。

  • 使用Arrays的binarySearch方法在數(shù)組中查找元素k時需频,使用的是二分法,即如果數(shù)組中間元素的值比k大時筷凤,則只從數(shù)組的前半部分元素中查找昭殉;否則只從數(shù)組的后半部分元素中查找,如此遞歸下去藐守。因此挪丢,必須要求數(shù)組元素是按升序排序好的。如果找到了元素k卢厂,則返回它的下標值乾蓬。如果有多個元素k,那么返回的結(jié)果可能是這些元素下標值的任意一個慎恒,并不一定是第k個元素的下標值任内。(平頭哥表示尼瑪撵渡,這有啥用?不解)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末死嗦,一起剝皮案震驚了整個濱河市趋距,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌越除,老刑警劉巖节腐,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異廊敌,居然都是意外死亡铜跑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門骡澈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锅纺,“玉大人,你說我怎么就攤上這事肋殴《陲保” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵护锤,是天一觀的道長官地。 經(jīng)常有香客問我,道長烙懦,這世上最難降的妖魔是什么驱入? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮氯析,結(jié)果婚禮上亏较,老公的妹妹穿的比我還像新娘。我一直安慰自己掩缓,他們只是感情好雪情,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著你辣,像睡著了一般巡通。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舍哄,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天宴凉,我揣著相機與錄音,去河邊找鬼表悬。 笑死跪解,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叉讥,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼窘行,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了图仓?” 一聲冷哼從身側(cè)響起罐盔,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎救崔,沒想到半個月后惶看,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡六孵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年纬黎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片劫窒。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡本今,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出主巍,到底是詐尸還是另有隱情冠息,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布孕索,位于F島的核電站逛艰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏搞旭。R本人自食惡果不足惜散怖,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肄渗。 院中可真熱鬧杭抠,春花似錦、人聲如沸恳啥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钝的。三九已至,卻和暖如春铆遭,著一層夾襖步出監(jiān)牢的瞬間硝桩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工枚荣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碗脊,地道東北人。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓橄妆,卻偏偏與公主長得像衙伶,于是被迫代替她去往敵國和親祈坠。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 一、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map芬沉;兩者的區(qū)別: 1躺同、Col...
    程序員歐陽閱讀 11,549評論 2 61
  • 廢話不多說,自己進入今天的主題 1丸逸、面向?qū)ο蟮奶卣饔心男┓矫妫?答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€方面: - 抽象:...
    傳奇內(nèi)服號閱讀 2,343評論 1 31
  • 新月如鉤霜掠影蹋艺, 萬里銀屏, 夜半涼初醒黄刚。 玉樹佇立風(fēng)物靜捎谨, 鄰家小院多安寧。 落葉飄零驚雁陣隘击, 犬吠雞鳴侍芝, 三唱...
    黔中吟閱讀 301評論 0 0
  • 洋老板不姓洋,他以前也不是個老板埋同。 大家叫他洋老板也是畢業(yè)之后的事了州叠。畢業(yè)之后,屌絲們都在為生計奔波凶赁,而洋老板仰仗...
    瘋平兒閱讀 269評論 1 1
  • 在我的記憶中咧栗,每到臘月二十四的這一天都是臘月這一個月中最忙碌的日子。從一進臘月開始虱肄,媽致板、大姐、二姐就開始蒸饅頭咏窿、豆...
    支子花開3閱讀 600評論 0 0