Hashset不是无序的吗?
package com.imooc;import java.util.HashSet;public class Test {/** * 一、创建一副扑克牌 包括四种花色:黑桃、红桃、梅花、方片 十三种点数 2-10,JQKA 不考虑大小王 * 二、创建两名玩家 玩家至少要有ID、姓名、手牌等属性,手牌为扑克牌的集合 * 三、洗牌 将只按创建的“一副扑克牌”打乱顺序 * 四、发牌 将洗牌之后的扑克牌集合,从第一张开始,发给两名玩家,按照一人一张的方式,每人发两张 * 五、游戏 比较两名玩家手中的扑克牌,规则为:取两人各自手中点数最大的牌进行比较,点数大的赢; * 若两人各自的点数最大的牌相等,则再按花色比较 * @param args */ /* * 创建并展示扑克牌 */ 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("----------创建扑克牌...----------"); System.out.println("----------扑克牌创建成功!----------"); 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("-----------开始洗牌...----------"); HashSet<Card> cardsToSelect = new HashSet<Card>(); System.out.println("----------洗牌结束!----------"); 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(); }}
写完洗牌后,发现不管怎么洗,遍历出来的都是一样的。HashSet不是无序的吗?