锘??xml version="1.0" encoding="utf-8" standalone="yes"?>夜夜精品视频一区二区,av在线播放av,97精品97http://www.aygfsteel.com/OneEyeWolf/category/13637.html鑷村姏浜庣數瀛愬晢鍔″鉤鍙版鏋剁殑寮鍙?/description>zh-cnWed, 28 Feb 2007 04:10:19 GMTWed, 28 Feb 2007 04:10:19 GMT60List闆嗗悎闅忔満鎺掑簭綆楁硶鍒嗘瀽http://www.aygfsteel.com/OneEyeWolf/archive/2006/07/31/61066.htmlOneEyeWolfOneEyeWolfMon, 31 Jul 2006 10:25:00 GMThttp://www.aygfsteel.com/OneEyeWolf/archive/2006/07/31/61066.htmlhttp://www.aygfsteel.com/OneEyeWolf/comments/61066.htmlhttp://www.aygfsteel.com/OneEyeWolf/archive/2006/07/31/61066.html#Feedback0http://www.aygfsteel.com/OneEyeWolf/comments/commentRss/61066.htmlhttp://www.aygfsteel.com/OneEyeWolf/services/trackbacks/61066.htmlList闆嗗悎闅忔満鎺掑簭綆楁硶鍒嗘瀽

鍏堣涓涓婮DK 瀵筁ist鐨勯殢鏈烘帓搴忕殑瀹炵幇錛?/p>

public static void shuffle(List list, Random rnd) {銆銆銆銆
聽聽聽 銆銆final int SHUFFLE_THRESHOLD聽聽聽聽聽聽聽 =聽聽聽 5;銆銆//榪欏簲褰撴槸涓涓粡楠屽煎惂

聽聽聽聽聽聽聽 int size = list.size();
銆銆/** 涓轟粈涔堣鍒ゆ柇錛屽悗闈㈡湁璁鴻堪 */
聽聽聽聽聽聽聽 if (size < SHUFFLE_THRESHOLD || list instanceof RandomAccess) {
聽聽聽聽聽聽聽聽聽聽聽 for (int i=size; i>1; i--)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 swap(list, i-1, rnd.nextInt(i));聽聽//榪欎竴縐嶆柟娉曟槸鐩存帴璋冪敤List.set鏂規硶錛屽睘浜嶳andomAccess涓殑鏂規硶
聽聽聽聽聽聽聽 } else {
聽聽聽聽聽聽聽聽聽聽聽 Object arr[] = list.toArray();

聽聽聽聽聽聽聽聽聽聽聽 // Shuffle array
聽聽聽聽聽聽聽聽聽聽聽 for (int i=size; i>1; i--)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 swap(arr, i-1, rnd.nextInt(i));

聽聽聽聽聽聽聽聽聽聽聽 // Dump array back into list
聽聽聽聽聽聽聽聽聽聽聽 ListIterator it = list.listIterator();聽聽聽聽聽 //濡傛灉涓嶆槸Random Access瀹炵幇錛屽氨浣跨敤榪唬鍣ㄩ亶鍘?br />聽聽聽聽聽聽聽聽聽聽聽 for (int i=0; i<arr.length; i++) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 it.next();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 it.set(arr[i]);
聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 }
聽聽聽 }


鍐嶈涓涓嬫垜鑷繁鐨勭鎷欏疄鐜幫細
銆銆public static List randomSortList(List ls, Random random) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 List randomList = new ArrayList();聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int size = list.size();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 while (size > 0) {
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int randomNum = random.nextInt(size);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 randomList.add(ls.get(randomNum));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ls.remove(randomNum); //榪欎竴姝ワ紝瀵逛簬RandomAccess鐨勯泦鍚堟潵璇達紝鏄疧(1)鎿嶄綔
聽聽聽聽聽聽聽聽聽聽聽聽聽 聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 return randomList;
聽聽聽聽 }
璇勮堪錛?br />銆銆濡傛灉List鐨勫疄鐜版槸ArrayList錛屽湪鏃墮棿鏁堢巼涓婅澶氬驚鐜竴嬈★紝浣嗗湪絀洪棿涓婏紝鎴戠殑鏂規硶闈炲父宸紝澶氱敓鎴愪竴涓狶ist闆嗗悎錛屽鏋淟ist寰堝ぇ錛屽氨鏇村樊浜嗐傚悓鏃舵垜鐨勭畻娉曞鏋滅敤浜嶴equence List涓婏紝鏁堢巼鏄浉褰撶殑宸紝鍙兘閫傚悎ArrayList,鏈夊緢澶х殑灞闄愭с?br />銆銆榪欐槸鍥犱負錛?濡傛灉闆嗗悎綾繪槸RandomAccess鐨勫疄鐜幫紝鍒欏敖閲忕敤for(int i = 0; i < size; i++) 鏉ラ亶鍘嗚屼笉瑕佺敤Iterator榪唬鍣ㄦ潵閬嶅巻錛屽湪鏁堢巼涓婅宸竴浜涖傚弽榪囨潵錛屽鏋淟ist鏄疭equence List錛屽垯鏈濂界敤榪唬鍣ㄦ潵榪涜榪唬銆?br />銆銆JDK涓鐨勫緢娓呮錛屽湪瀵筁ist鐗瑰埆鏄疕uge size鐨凩ist鐨勯亶鍘嗙畻娉曚腑錛岃灝介噺鏉ュ垽鏂槸灞炰簬RandomAccess(濡侫rrayList)榪樻槸Sequence List (濡侺inkedList錛夛紝鍥犱負閫傚悎RandomAccess List鐨勯亶鍘嗙畻娉曪紝鐢ㄥ湪Sequence List涓婂氨宸埆寰堝ぇ錛屽父鐢ㄧ殑浣滄硶灝辨槸錛?br />聽聽聽 瑕佷綔涓涓垽鏂細
聽聽聽 if (list instance of RandomAccess) {
聽聽聽聽聽聽聽 for(int m = 0; m < list.size(); m++){}
聽聽聽 }else{
聽聽聽聽聽聽聽 Iterator iter = list.iterator();
聽聽聽聽聽聽聽 while(iter.hasNext()){}
聽聽聽 }
聽聽 鎴戠殑欏圭洰涓璍ist閮芥槸鍩轟簬ArrayList鐨勶紝鎵浠ュ熀鏈笂寰堝皯鐢ㄨ凱浠e櫒鏉ラ亶鍘嗭紝鑰屾槸鐢╢or寰幆鏉ラ亶鍘嗭紝瀵逛簬榪唬鍣ㄧ殑浣滅敤鎴戝綋鐒跺緢娓呮錛屼絾鏄垜瑙夊緱鏈夌偣搴鎬漢鑷壈浜嗐?br />聽聽 闄ら潪浣犵粡甯哥敤Collection浣滀負浣犵殑鎺ュ彛鏂規硶涓殑杈撳叆鎴栬緭鍑虹殑闆嗗悎鍙傛暟綾誨瀷鏃訛紝浣犱篃灝卞彧鑳界敤Iterator銆?br />聽聽 浣嗘垜涓鑸湪鎺ュ彛鏂規硶涓紝涓鑸敤List錛屾墍浠ユ垜灝變笉鐢ㄨ凱浠e櫒錛岄櫎闈炴垜鐨凩ist鏄疞inked List瀹炰緥銆?br />聽聽 濂界殑浣滄硶鏄細鍦ㄤ緵澶栭儴璋冪敤鐨勬帴鍙f柟娉曚腑錛屼嬌鐢–ollection浣滀負闆嗗悎鍙傛暟綾誨瀷錛屽湪鍐呴儴瀹炵幇褰撲腑錛屼嬌鐢↙ist錛岃屼笉鏄竴鍛崇殑浣跨敤Collections鍙奍terator錛岃繖鏍峰仛鏃犲紓浜庝綔鑼ц嚜緙氥?br />聽聽 欏轟究璇翠竴涓婮DK涓帹鑽愮殑鏄List闆嗗悎灝介噺瑕佸疄鐜癛andomAccess鎺ュ彛銆?br />



]]>
主站蜘蛛池模板: 青川县| 化州市| 增城市| 隆林| 仁化县| 榆树市| 子长县| 苍南县| 洞口县| 台南市| 乌兰察布市| 玛纳斯县| 长春市| 浮山县| 怀集县| 沾益县| 廉江市| 乌什县| 松阳县| 林甸县| 海门市| 广平县| 砚山县| 沽源县| 阿坝| 同仁县| 墨竹工卡县| 阳曲县| 开江县| 宁远县| 芮城县| 沙坪坝区| 寿宁县| 马尔康县| 松溪县| 凌云县| 赤城县| 阿尔山市| 京山县| 雷山县| 水富县|