用Map 写一个16只球队要参加男篮世界杯,将16只球队随机分为4组的小程序
package Day4;
import java.util.*;
public class Test4 {
// 已知有16只球队要参加男篮世界杯,写一个程序将16只球队随机分为4组
public static void main(String[] args) {
Map<Integer,String> football = new HashMap<>();//创建一场比赛
List<String> duiwu = new ArrayList<>();//创建队伍集合
Collections.addAll(duiwu,"a","b" ,"c","d","e","f","g","h",
"i","j","k","l","m","n","o","p");
int count =1;
for (String s : duiwu) {
football.put(count++,s);
}
System.out.println(football);
Set<Integer> s =football.keySet();
List<Integer> list = new ArrayList<>();
list.addAll(s);
Collections.shuffle(list);//打乱集合顺序
//创建4个比赛小组
List<Integer> group1 = new ArrayList<>();
List<Integer> group2 = new ArrayList<>();
List<Integer> group3 = new ArrayList<>();
List<Integer> group4 = new ArrayList<>();
//给小组加队伍
for (int i = 0; i < list.size(); i++) {
if (i % 4 == 0){
group1.add(list.get(i));
}
else if (i % 4 == 1){
group2.add(list.get(i));
}
else if (i % 4 == 2){
group3.add(list.get(i));
}
else if (i % 4 == 3){
group4.add(list.get(i));
}
}
System.out.println(group1);
System.out.println(group2);
System.out.println(group3);
System.out.println(group4);
//把数字转换为队伍名
List<String> g1 = new ArrayList<>();
List<String> g2 = new ArrayList<>();
List<String> g3 = new ArrayList<>();
List<String> g4 = new ArrayList<>();
for (Integer integer : group1) {
g1.add(football.get(integer));
}
for (Integer integer : group2) {
g2.add(football.get(integer));
}
for (Integer integer : group3) {
g3.add(football.get(integer));
}
for (Integer integer : group4) {
g4.add(football.get(integer));
}
System.out.println(g1);
System.out.println(g2);
System.out.println(g3);
System.out.println(g4);
}
}
结果展示