最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Collections.shuffle()方法實(shí)例解析

 更新時(shí)間:2018年01月24日 14:11:48   作者:_calm  
這篇文章主要介紹了Collections.shuffle()方法實(shí)例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文研究的主要是Collections.shuffle()方法的相關(guān)內(nèi)容,下面看看具體內(nèi)容。

Java.util.Collections類下有一個(gè)靜態(tài)的shuffle()方法,如下:

1)static void shuffle(List<?> list) 使用默認(rèn)隨機(jī)源對(duì)列表進(jìn)行置換,所有置換發(fā)生的可能性都是大致相等的。

2)static void shuffle(List<?> list, Random rand) 使用指定的隨機(jī)源對(duì)指定列表進(jìn)行置換,所有置換發(fā)生的可能性都是大致相等的,假定隨機(jī)源是公平的。

通俗一點(diǎn)的說(shuō),就像洗牌一樣,隨機(jī)打亂原來(lái)的順序。

注意:如果給定一個(gè)整型數(shù)組,用Arrays.asList()方法將其轉(zhuǎn)化為一個(gè)集合類,有兩種途徑:

1)用List<Integer> list=ArrayList(Arrays.asList(ia)),用shuffle()打亂不會(huì)改變底層數(shù)組的順序。

2)用List<Integer> list=Arrays.aslist(ia),然后用shuffle()打亂會(huì)改變底層數(shù)組的順序。代碼例子如下:

package ahu;
import java.util.*;
public class Modify {
	public static void main(String[] args){
		Random rand=new Random(47);
		Integer[] ia={0,1,2,3,4,5,6,7,8,9};
		List<Integer> list=new ArrayList<Integer>(Arrays.asList(ia));
		System.out.println("Before shufflig: "+list);
		Collections.shuffle(list,rand);
		System.out.println("After shuffling: "+list);
		System.out.println("array: "+Arrays.toString(ia));
		List<Integer> list1=Arrays.asList(ia);
		System.out.println("Before shuffling: "+list1);
		Collections.shuffle(list1,rand);
		System.out.println("After shuffling: "+list1);
		System.out.println("array: "+Arrays.toString(ia));
	}
}

運(yùn)行結(jié)果如下:

Before shufflig: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
After shuffling: [3, 5, 2, 0, 7, 6, 1, 4, 9, 8] 
array: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
Before shuffling: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
After shuffling: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7] 
array: [8, 0, 5, 2, 6, 1, 4, 9, 3, 7] 

在第一種情況中,Arrays.asList()的輸出被傳遞給了ArrayList()的構(gòu)造器,這將創(chuàng)建一個(gè)引用ia的元素的ArrayList,因此打亂這些引用不會(huì)修改該數(shù)組。 但是,如果直接使用Arrays.asList(ia)的結(jié)果, 這種打亂就會(huì)修改ia的順序。意識(shí)到Arrays.asList()產(chǎn)生的List對(duì)象會(huì)使用底層數(shù)組作為其物理實(shí)現(xiàn)是很重要的。 只要你執(zhí)行的操作 會(huì)修改這個(gè)List,并且你不想原來(lái)的數(shù)組被修改,那么你就應(yīng)該在另一個(gè)容器中創(chuàng)建一個(gè)副本。

總結(jié)

以上就是本文關(guān)于Collections.shuffle()方法實(shí)例解析的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • Java String類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java String類詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java String類詳解,本文經(jīng)多方資料的收集整理和歸納,最終撰寫成文,非常不錯(cuò),值得收藏,需要的的朋友參考下
    2017-04-04
  • Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動(dòng)

    Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動(dòng)

    這篇文章主要介紹了Spring Boot如何移除內(nèi)嵌Tomcat,使用非web方式啟動(dòng),幫助大家更好的理解和學(xué)習(xí)使用spring boot框架,感興趣的朋友可以了解下
    2021-02-02
  • java數(shù)據(jù)結(jié)構(gòu)算法稀疏數(shù)組示例詳解

    java數(shù)據(jù)結(jié)構(gòu)算法稀疏數(shù)組示例詳解

    這篇文章主要為大家介紹了java數(shù)據(jù)結(jié)構(gòu)算法稀疏數(shù)組示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • maven中pom.xml詳細(xì)介紹

    maven中pom.xml詳細(xì)介紹

    最近在學(xué)習(xí)maven,這篇文章主要介紹了maven中pom.xml詳細(xì)介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringBoot中的WebSocketSession原理詳解

    SpringBoot中的WebSocketSession原理詳解

    這篇文章主要介紹了SpringBoot中的WebSocketSession原理詳解,傳統(tǒng)的?HTTP?協(xié)議是無(wú)法支持實(shí)時(shí)通信的,因?yàn)樗且环N無(wú)狀態(tài)協(xié)議,每次請(qǐng)求都是獨(dú)立的,無(wú)法保持連接。為了解決這個(gè)問(wèn)題,WebSocket?協(xié)議被引入,需要的朋友可以參考下
    2023-07-07
  • Hibernate雙向多對(duì)多映射關(guān)系配置代碼實(shí)例

    Hibernate雙向多對(duì)多映射關(guān)系配置代碼實(shí)例

    這篇文章主要介紹了Hibernate雙向多對(duì)多映射關(guān)系配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Mybatis注解開發(fā)單表、多表操作的實(shí)現(xiàn)代碼

    Mybatis注解開發(fā)單表、多表操作的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Mybatis高級(jí):Mybatis注解開發(fā)單表操作,Mybatis注解開發(fā)多表操作,構(gòu)建sql語(yǔ)句,綜合案例學(xué)生管理系統(tǒng)使用接口注解方式優(yōu)化,需要的朋友可以參考下
    2021-02-02
  • jar包打包成exe安裝包的實(shí)現(xiàn)

    jar包打包成exe安裝包的實(shí)現(xiàn)

    本文主要介紹了jar包打包成exe安裝包的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • java實(shí)現(xiàn)mp3合并的方法

    java實(shí)現(xiàn)mp3合并的方法

    這篇文章主要介紹了java實(shí)現(xiàn)mp3合并的方法,是Java操作多媒體文件的一個(gè)典型應(yīng)用,非常具有參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • Java使用單鏈表實(shí)現(xiàn)約瑟夫環(huán)

    Java使用單鏈表實(shí)現(xiàn)約瑟夫環(huán)

    這篇文章主要為大家詳細(xì)介紹了Java使用單鏈表實(shí)現(xiàn)約瑟夫環(huán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評(píng)論

布尔津县| 宣武区| 寿光市| 通渭县| 卫辉市| 都安| 高邮市| 光泽县| 贵阳市| 徐汇区| 日喀则市| 确山县| 从江县| 平阴县| 海城市| 贵阳市| 泌阳县| 江阴市| 宁阳县| 石河子市| 通化市| 章丘市| 拜泉县| 平潭县| 石城县| 胶南市| 青龙| 隆林| 分宜县| 吉安县| 同德县| 福泉市| 桃江县| 永兴县| 华池县| 香格里拉县| 沙湾县| 诸暨市| 万盛区| 柘荣县| 政和县|