Java中 shuffle 算法的使用
shuffle算法是一种用于打乱集合顺序的算法。在Java中,我们可以使用Collections类提供的shuffle()静态方法来应用该算法。
shuffle()方法签名
public static void shuffle(List<?> list)
shuffle()方法参数说明
- list:要打乱顺序的集合
使用示例1
下面我们来演示一下如何使用shuffle()方法打乱一个字符串列表的顺序。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C", "D", "E"));
System.out.println("打乱前的顺序:" + list);
Collections.shuffle(list);
System.out.println("打乱后的顺序:" + list);
}
}
输出结果:
打乱前的顺序:[A, B, C, D, E]
打乱后的顺序:[B, C, A, E, D]
使用示例2
下面我们来演示一下如何使用shuffle()方法打乱一个牌组的顺序。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<String> deck = new ArrayList<>();
String[] ranks = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
String[] suits = {"♠", "♣", "♥", "♦"};
for (String rank : ranks) {
for (String suit : suits) {
deck.add(rank + suit);
}
}
System.out.println("打乱前的顺序:" + deck);
Collections.shuffle(deck);
System.out.println("打乱后的顺序:" + deck);
}
}
输出结果:
打乱前的顺序:[2♠, 2♣, 2♥, 2♦, 3♠, 3♣, 3♥, 3♦, 4♠, 4♣, 4♥, 4♦, 5♠, 5♣, 5♥, 5♦, 6♠, 6♣, 6♥, 6♦, 7♠, 7♣, 7♥, 7♦, 8♠, 8♣, 8♥, 8♦, 9♠, 9♣, 9♥, 9♦, 10♠, 10♣, 10♥, 10♦, J♠, J♣, J♥, J♦, Q♠, Q♣, Q♥, Q♦, K♠, K♣, K♥, K♦, A♠, A♣, A♥, A♦]
打乱后的顺序:[5♠, 4♥, 6♠, 9♠, K♥, A♣, 5♣, Q♣, 10♥, A♠, 10♣, 8♥, 8♦, 6♥, 2♠, 9♣, J♥, 7♠, K♦, 3♠, 2♦, 4♣, Q♠, J♣, 8♠, 5♥, J♠, 6♣, Q♥, 3♥, 9♥, K♣, A♥, 4♠, 7♥, 2♣, 5♦, 10♠, 10♦, 4♦, J♦, 8♣, 6♦, A♦, 7♣, 3♣, K♠, 7♦, 2♥, 9♦]
以上是Java中shuffle算法的使用攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中 shuffle 算法的使用 - Python技术站