首页 > 趣闻 > 正文内容

Java数组排序与转换List的实用方法详解

趣闻2025-05-19 15:24:07

姣忔澶勭悊Java鏁扮粍閮藉ご澶э紵璇曡瘯杩欎釜鑷晳鎸囧崡锛?/h3>

"鑰佸笀璁╂妸瀛︾敓鎴愮哗鎺掑簭锛岀粨鏋滄妸鏁扮粍瓒婃敼瓒婁贡锛?"鎯虫妸鏁扮粍杞垚List鎿嶄綔锛岀粨鏋滄姤浜嗕竴鍫嗙湅涓嶆噦鐨勯敊璇紵"鍒厡锛佷粖澶╁挶浠氨鎺板紑鎻夌浜嗚璁茶繖涓や釜楂橀闇€姹傜殑闂ㄩ亾锛屼繚鍑嗕綘鐪嬪畬灏辫兘涓婃墜寮€骞诧紒


涓€銆佹暟缁勬帓搴忕殑涓夊ぇ缁濇椿锛堥檮缈昏溅瀹炲綍锛?/h2>

鈥?strong>鈥嬬伒榄傛嫹闂細涓轰粈涔堢敤sort鏂规硶鎺掑簭鍚庢暟鎹繕鏄贡鐨勶紵鈥?/strong>鈥?/p>

馃憠 鈥?strong>鈥嬪熀纭€娆撅細鏁板瓧/瀛楃涓茶嚜鍔ㄦ帓搴忊€?/strong>鈥?/p>

java澶嶅埗
int[] scores = {88, 67, 95, 72};
Arrays.sort(scores);  // 鐬棿鍙樻垚[67,72,88,95]

杩欐嫑閫傚悎绠€鍗曞満鏅紝浣嗚鏄亣鍒板璞℃暟缁?..锛堝暘锛佺炕杞﹂璀︼紒锛?/p>

馃憠 鈥?strong>鈥嬭繘闃舵锛氬璞℃暟缁勮嚜瀹氫箟鎺掑簭鈥?/strong>鈥?/p>

java澶嶅埗
Student[] students = new Student[3];
// 鍋囪Student绫绘湁score灞炴€?/span>
Arrays.sort(students, (s1,s2) -> s2.getScore() - s1.getScore()); 

绛夌瓑锛岃繖閲屾湁涓潙锛佸鏋滅洿鎺ョ敤int绫诲瀷浼氭姤閿欙紝蹇呴』鐢ㄢ€?strong>鈥婭nteger鍖呰绫烩€?/strong>鈥嬨€傛垜褰撳勾鍦ㄨ繖涓棶棰樹笂鍗′簡鏁存暣涓ゅ皬鏃讹紒

馃憠 鈥?strong>鈥嬮殣钘忔锛氬苟琛屾帓搴忓ぇ娉曗€?/strong>鈥?/p>

java澶嶅埗
int[] bigData = new int[1000000];
Arrays.parallelSort(bigData); 

瀹炴祴鏁版嵁锛?0涓囨潯鏁版嵁鎺掑簭閫熷害姣旀櫘閫歴ort蹇?.5鍊嶏紝浣嗘暟鎹噺灏忔椂鍙嶈€屾洿鎱€傝繖灏卞ソ姣斿紑鍗¤溅鍘讳拱鑿溾€斺€旀病蹇呰锛?/p>


浜屻€佹暟缁勮浆List鐨勭敓姝诲姭

鈥?strong>鈥嬭嚧鍛借鍖猴細涓轰粈涔堟垜鐨凩ist涓嶈兘澧炲垹鍏冪礌锛熲€?/strong>鈥?/p>

鍏堢湅杩欎釜缁忓吀閿欒绀鸿寖锛?/p>

java澶嶅埗
String[] fruits = {"apple", "banana"};
List list = Arrays.asList(fruits);
list.add("orange"); // 鍟紒鐩存帴鎶ラ敊锛?/span>

鍘熸潵Arrays.asList()杩斿洖鐨勬槸鈥?strong>鈥嬪浐瀹氶暱搴︾殑浼狶ist鈥?/strong>鈥嬶紒姝g‘濮垮娍鐪嬭繖閲岋細

馃憠 鈥?strong>鈥嬪畨鍏ㄨ浆鎹㈠洓姝ヨ蛋鈥?/strong>鈥?/p>

  1. 鍏堢敤Arrays.asList()濂椾釜澹?/li>
  2. 鍐嶈杩涙柊ArrayList
  3. 杩欐椂鍊欐墠鑳介殢渚垮鍒?/li>
  4. 鏈€鍚庤寰楀鐞嗙┖鍊?/li>

浠g爜妯℃澘锛?/p>

java澶嶅埗
List realList = new ArrayList<>(Arrays.asList(fruits));
realList.add("mango"); // 杩欏洖缁堜簬鎴愬姛浜嗭紒

涓夈€佸疄鎴橀伩鍧戞墜鍐岋紙琛€娉粡楠岀増锛?/h2>

鈥?strong>鈥嬪満鏅?锛氭贩鍚堢被鍨嬫暟缁勬帓搴忊€?/strong>鈥?br/> 涓婂懆甯寮焏ebug锛屽彂鐜颁粬鎶奡tring鍜孖nteger娣峰湪鏁扮粍閲屾帓搴忥紝缁撴灉鎶汣lassCastException寮傚父銆傝浣忥細鈥?strong>鈥嬫暟缁勫厓绱犲繀椤诲疄鐜癈omparable鎺ュ彛鈥?/strong>鈥嬶紒

鈥?strong>鈥嬪満鏅?锛氳浆鎹ist鏃剁殑绌烘寚閽堚€?/strong>鈥?/p>

java澶嶅埗
Integer[] nums = {1,2,null,4};
List list = Arrays.asList(nums); // 杩欓噷涓嶄細鎶ラ敊
list.contains(null); // 杩斿洖true锛屼絾鎿嶄綔鏃惰灏忓績

濡傛灉涓氬姟涓嶅厑璁竛ull鍊硷紝璁板緱鎻愬墠杩囨护锛?/p>

鈥?strong>鈥嬫€ц兘瀹炴祴瀵规瘮鈥?/strong>鈥嬶紙鐢?0涓囨鎿嶄綔娴嬭瘯锛夛細

鎿嶄綔绫诲瀷浼犵粺寰幆Stream娴?/th>
鏁扮粍杞琇ist15ms45ms
鎵€浠ュ晩锛岀畝鍗曞満鏅繕鏄敤浼犵粺鏂规硶鏈€闈犺氨锛?/td>

鍥涖€佽€佸徃鏈恒伄绉佹埧璇?/h2>

骞蹭簡涓夊勾Java寮€鍙戯紝鍙戠幇鏂颁汉鏈€瀹规槗鍦ㄨ繖涓や釜鍦版柟鏍借窡澶达細

  1. 鈥?strong>鈥嬭嚜鍔ㄨ绠辨媶绠遍櫡闃扁€?/strong>鈥嬶細
java澶嶅埗
int[]鍜孖nteger[]鍗冧竾鍒贩鐢紝灏卞儚涓嶈兘鎶婃煷娌瑰姞杩涙苯娌硅溅锛?/code>
  1. 鈥?strong>鈥嬮泦鍚堟搷浣滄儻鎬ф€濈淮鈥?/strong>鈥嬶細
    鏁扮粍杞琇ist鍚庢€绘湁浜虹洿鎺ヨ皟鐢╝dd()锛岀粨鏋滆UnsupportedOperationException鎵撹劯銆傝浣忚鈥?strong>鈥嬩簩娆″寘瑁呪€?/strong>鈥嬶紒

鏈€鍚庨€佸ぇ瀹朵竴鍙ュ彛璇€锛?鍩烘湰绫诲瀷鐢ㄥ寘瑁咃紝杞崲璁板緱濂椾釜濞?銆備笅娆″啀閬囧埌鏁扮粍鎿嶄綔闅鹃锛屽厛鎶婅繖绡囨枃绔犵炕鍑烘潵瀵圭収鐫€鐪嬶紝淇濆噯浣犺兘灏戣蛋涓€鍗婂集璺紒锛堝畬锛?/p>

搜索