1. 主页 > 小妙招

Java数组常用方法大全:排序、遍历、转换技巧


馃 鍒氬Java锛屾暟缁勬搷浣滄€绘槸鎼炰笉瀹氾紵

"鑰佸笀甯冪疆鐨勪綔涓氳澶勭悊鏁扮粍鏁版嵁锛岀粨鏋滆繛鎺掑簭閮芥暣涓嶆槑鐧斤紵" 鐩镐俊杩欐槸寰堝鏂版墜灏忕櫧鐨勭湡瀹炲啓鐓с€傚埆鎱岋紒浠婂ぉ鍜变滑灏辩敤鏈€鎺ュ湴姘旂殑鏂瑰紡锛屾妸鏁扮粍鐨勪笁澶ф牳蹇冩搷浣溾€斺€旀帓搴忋€侀亶鍘嗐€佽浆鎹⑩€斺€旀幇寮€浜嗘弶纰庝簡璁叉槑鐧斤紒


馃敟 鎺掑簭锛氳鏁扮粍涔栦箹鎺掗槦

鈥?strong>鈥嬫牳蹇冮棶棰橈細鎬庝箞璁╀贡绯熺碂鐨勬暟缁勫揩閫熸帓濂介槦锛熲€?/strong>鈥?/p>

馃憠 鈥?strong>鈥嬫毚鍔涚編瀛︽硶鈥?/strong>鈥嬶細Arrays.sort()

java澶嶅埗
int[] prices = {99, 29, 159, 68};
Arrays.sort(prices);  // 鐬棿鍙樻垚[29, 68, 99, 159]

馃殌 閫傚悎鍦烘櫙锛氱畝鍗曟暟瀛?瀛楁瘝鎺掑簭锛屼竴琛屼唬鐮佹悶瀹氫汉鐢?/p>

馃憠 鈥?strong>鈥嬮珮绾у畾鍒舵硶鈥?/strong>鈥嬶細Comparator锛堜妇涓牀瀛愶紝鐢靛晢浠锋牸鍊掑簭锛?/p>

java澶嶅埗
Integer[] prices = {99, 29, 159, 68}; // 蹇呴』鐢ㄥ寘瑁呯被
Arrays.sort(prices, (a,b) -> b - a); // 鍡栧棖鍡栧彉鎴怺159,99,68,29]

馃挕 闅愯棌鎶€宸э細閬囧埌瀵硅薄鏁扮粍鎺掑簭鏃讹紝杩欎釜鎿嶄綔鐩存帴灏佺锛?/p>


馃殫 閬嶅巻锛氭妸鏁扮粍閲岀殑瀹濊礉鍏ㄦ帍鍑烘潵

鈥?strong>鈥嬬伒榄傛嫹闂細閬嶅巻鏁扮粍鍙細鐢╢or寰幆锛熲€?/strong>鈥?/p>

鈴?鈥?strong>鈥嬫晥鐜囩帇鑰呪€?/strong>鈥嬶細浼犵粺for寰幆

java澶嶅埗
for(int i=0; i"绗?+i+"涓厓绱犳槸锛?+arr[i]);
}

鈿狅笍 娉ㄦ剰锛氭暟缁勮秺鐣屾槸鏂版墜蹇呰俯鐨勫潙锛佽浣忎笅鏍囦粠0寮€濮?/p>

馃寛 鈥?strong>鈥嬫噿浜虹鍣ㄢ€?/strong>鈥嬶細澧炲己for寰幆

java澶嶅埗
for(int num : arr){
    System.out.println("褰撳墠鍏冪礌锛?+num); 
}

馃か 鎮勬倓璇濓細涓嶉渶瑕佹搷浣滅储寮曟椂锛岀敤瀹冧唬鐮佹洿娓呯埥


馃帺 杞崲锛氫竷鍗佷簩鍙樼帺杞暟缁?/h2>

鈥?strong>鈥嬪疄鎴橀毦棰橈細鎬庝箞鎶婃暟缁勫彉鎴怢ist鎴朣tring锛熲€?/strong>鈥?/p>

馃挜 鈥?strong>鈥嬫暟缁勨啋List鐨勯瓟骞绘搷浣溾€?/strong>鈥?/p>

java澶嶅埗
String[] fruits = {"馃崕","馃崐","馃崒"};
List list = new ArrayList<>(Arrays.asList(fruits));

鉂?琛€娉暀璁細鐩存帴鐢ˋrrays.asList()鐢熸垚鐨凩ist涓嶈兘澧炲垹鍏冪礌锛佸繀椤诲涓柊ArrayList

鉁?鈥?strong>鈥嬫暟缁勨啋String鐨勪笣婊戞嫾鎺モ€?/strong>鈥?/p>

java澶嶅埗
int[] scores = {90,85,95};
String result = Arrays.toString(scores); // [90,85,95]
// 鎯宠涓嶅甫鎷彿锛熻瘯璇曡繖涓細
StringJoiner sj = new StringJoiner(", ");
for(int s : scores) sj.add(String.valueOf(s));
System.out.println(sj); // 90, 85, 95

馃挕 鐙閬垮潙鎸囧崡锛堟潵鑷?骞翠唬鐮佺粡楠岋級

  1. 鈥?strong>鈥嬫帓搴忕巹瀛︿簨浠垛€?/strong>鈥嬶細

閬囧埌杩囧鐢熺粰int鏁扮粍鐢–omparator鎺掑簭锛岀粨鏋滅洿鎺ユ姤閿欙紒璁颁綇锛氣€?strong>鈥嬪熀鏈被鍨嬫暟缁勪笉鑳界敤鑷畾涔夋帓搴忚鍒欌€?/strong>鈥嬶紝蹇呴』鎹㈡垚鍖呰绫伙紒

  1. 鈥?strong>鈥嬮亶鍘嗘€ц兘瀹炴祴鈥?/strong>鈥嬶紙鏁版嵁璇磋瘽锛夛細
    | 閬嶅巻鏂瑰紡 | 10涓囨暟鎹€楁椂 |
    |---------|------------|
    | 浼犵粺for | 2ms |
    | 澧炲己for | 3ms |
    | forEach | 5ms |
    馃憠 澶ф暟鎹噺鏃朵紶缁焒or寰幆渚濈劧鏈€鑳芥墦锛?/p>

  2. 鈥?strong>鈥嬭浆鎹㈤殣钘忓叧鍗♀€?/strong>鈥嬶細

鎶?code>List杞暟缁?/code>鏃剁敤list.toArray(new String[0])姣旀寚瀹氶暱搴︽洿蹇紒杩欐槸JDK浼樺寲杩囩殑榛戠鎶€~


馃殌 鏈€鍚庤鐐规帍蹇冪獫鐨勮瘽

鏁扮粍鎿嶄綔灏卞儚鐐掕彍鐢ㄩ攨閾诧紝鐪嬭捣鏉ョ畝鍗曪紝浣嗙伀鍊欐帉鎻′笉濂界収鏍风硦閿呫€傝浣忚繖涓変釜榛勯噾瀹氬緥锛?/p>

  1. 鎺掑簭鍓嶅厛纭鏁版嵁绫诲瀷
  2. 閬嶅巻鏃剁洴绱т笅鏍囪寖鍥?/li>
  3. 杞崲瀵硅薄瑕侀€夊瀹瑰櫒

涓嬫鍐嶉亣鍒版暟缁勭浉鍏抽渶姹傦紝鎶婅繖绡囨枃绔犲綋绉樼睄缈诲嚭鏉ュ鐓х潃缁冿紝淇濆噯浣犱粠闈掗摐鐩村崌鏄熻€€锛?锛堝畬锛?/p>

本文由嘻道妙招独家原创,未经允许,严禁转载