Hashset不是無(wú)序的嗎?
package?com.imooc;import?java.util.HashSet;public?class?Test?{/**?*?一、創(chuàng)建一副撲克牌?包括四種花色:黑桃、紅桃、梅花、方片?十三種點(diǎn)數(shù)?2-10,JQKA?不考慮大小王?*?二、創(chuàng)建兩名玩家??玩家至少要有ID、姓名、手牌等屬性,手牌為撲克牌的集合?*?三、洗牌??將只按創(chuàng)建的“一副撲克牌”打亂順序?*?四、發(fā)牌?將洗牌之后的撲克牌集合,從第一張開(kāi)始,發(fā)給兩名玩家,按照一人一張的方式,每人發(fā)兩張?*?五、游戲?比較兩名玩家手中的撲克牌,規(guī)則為:取兩人各自手中點(diǎn)數(shù)最大的牌進(jìn)行比較,點(diǎn)數(shù)大的贏;?*?????????若兩人各自的點(diǎn)數(shù)最大的牌相等,則再按花色比較?*?@param?args?*/ /* *?創(chuàng)建并展示撲克牌 */ static?Card[]?c?=? ???{new?Card("黑桃",1),new?Card("黑桃",2),new?Card("黑桃",3),new?Card("黑桃",4),new?Card("黑桃",5),new?Card("黑桃",6), new?Card("黑桃",7),new?Card("黑桃",8),new?Card("黑桃",9),new?Card("黑桃",10),new?Card("黑桃",11),new?Card("黑桃",12),new?Card("黑桃",13), new?Card("紅桃",1),new?Card("紅桃",2),new?Card("紅桃",3),new?Card("紅桃",4),new?Card("紅桃",5),new?Card("紅桃",6), new?Card("紅桃",7),new?Card("紅桃",8),new?Card("紅桃",9),new?Card("紅桃",10),new?Card("紅桃",11),new?Card("紅桃",12),new?Card("紅桃",13), new?Card("梅花",1),new?Card("梅花",2),new?Card("梅花",3),new?Card("梅花",4),new?Card("梅花",5),new?Card("梅花",6), new?Card("梅花",7),new?Card("梅花",8),new?Card("梅花",9),new?Card("梅花",10),new?Card("梅花",11),new?Card("梅花",12),new?Card("梅花",13), new?Card("方片",1),new?Card("方片",2),new?Card("方片",3),new?Card("方片",4),new?Card("方片",5),new?Card("方片",6), new?Card("方片",7),new?Card("方片",8),new?Card("方片",9),new?Card("方片",10),new?Card("方片",11),new?Card("方片",12),new?Card("方片",13), }; public?static?void?createCard(){ System.out.println("----------創(chuàng)建撲克牌...----------"); System.out.println("----------撲克牌創(chuàng)建成功!----------"); System.out.print("為:["); System.out.print(c[0].color+c[0].point); for(int?i=1;i<52;i++){ System.out.print(","+c[i].color+c[i].point); } System.out.println("]"); } /* *?洗牌 */ public?static?void?washCard(){ System.out.println("-----------開(kāi)始洗牌...----------"); HashSet<Card>?cardsToSelect?=?new?HashSet<Card>(); System.out.println("----------洗牌結(jié)束!----------"); for(int?i=0;i<52;i++){ cardsToSelect.add(c[i]); } for(Card?s?:?cardsToSelect){ System.out.print(s.color+s.point+"?"); } } public?static?void?main(String[]?args)?{ //?TODO?Auto-generated?method?stub createCard(); washCard(); }}
寫(xiě)完洗牌后,發(fā)現(xiàn)不管怎么洗,遍歷出來(lái)的都是一樣的。HashSet不是無(wú)序的嗎?
2019-04-18
https://www.zhihu.com/question/28414001/answer/40733996
你可以看看這個(gè),雖然我也不太懂
2019-03-27
遍歷出來(lái)的一直是這個(gè)
黑桃8 方片13 方片11 黑桃11 黑桃7 方片5 紅桃11 方片12 黑桃3 方片4 紅桃7 黑桃9 黑桃13 梅花8 梅花11 黑桃10 梅花6 紅桃1 方片10 紅桃9 紅桃8 梅花4 紅桃6 黑桃12 紅桃13 梅花9 黑桃5 紅桃10 梅花10 梅花5 梅花2 方片8 黑桃6 方片6 方片3 方片7 梅花13 紅桃4 黑桃4 方片9 黑桃1 梅花3 梅花1 紅桃2 方片1 紅桃12 梅花7 黑桃2 方片2 紅桃3 紅桃5 梅花12?