1、产生10个1-100的随机数,并放到一个数组中, 把数组中大于等于10的数字放到一个list集合中,并打印到控制台。
import java.util.ArrayList; import java.util.List; import java.util.Random; public class HWDemo01 { public static void main(String[] args) { Random random = new Random(); //创建随机数对象 int[] arr = new int[10]; //创建数组 ArrayList list = new ArrayList(); //创建一个Arraylist集合 for (int i = 0; i < arr.length; i++) { arr[i] = random.nextInt(100);//把随机数存进数组 if (arr[i] > 10) { list.add(arr[i]); } } System.out.println(list); } }
2、已知数组存放一批QQ号码,QQ号码最长为11位,最短为5位
String[] strs ={"12345","67891","12347809933","98765432102","67891","12347809933"}。
将该数组里面的所有qq号都存放在LinkedList中,将list中重复元素删除,
将list中所有元素分别用迭代器和增强for循环打印出来。
import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.Set; public class HWDemo02 { public static void main(String[] args) { String[] strs = {"12345", "67891", "12347809933", "98765432102", "67891", "12347809933"}; Set<String> set = new HashSet<>(); for (int i = 0; i < strs.length; i++) { set.add(strs[i]); } LinkedList<String> linkedList = new LinkedList<>(set); for (String s : linkedList) {//增强for循环 System.out.println(s); System.out.println("================="); } Iterator<String> it = linkedList.iterator();//迭代器 while (it.hasNext()) { System.out.print(it.next() + " ,"); } } }
3、用Comparable接口对下列四位同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序。
提示:
编写一个Student类用来实现Comparable<Student>接口,并在其中重写CompareTo(Student o)方法
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class HWDemo03 { public static void main(String[] args) { Student s1 = new Student("liusan", 20, 90); Student s2 = new Student("lisi", 22, 90); Student s3 = new Student("wangwu", 20, 99); Student s4 = new Student("sunliu", 22, 100); ArrayList<Student> studentList = new ArrayList<>(); studentList.add(s1); studentList.add(s2); studentList.add(s3); studentList.add(s4); System.out.println("原顺序:"); for (Student s : studentList) { System.out.println(s); } System.out.println("排序后顺序:"); Collections.sort(studentList, new StudentComparator()); for (Student s : studentList) { System.out.println(s); } } static class Student implements Comparable<Student> { private String name; private int age; private double score; public Student(String name, int age, double score) { this.name = name; this.age = age; this.score = score; } @Override public String toString() { return "姓名:" + name + ", 年龄:" + age + ", 分数:" + score; } @Override public int compareTo(Student s) { if (this.score == s.score) { return this.age - s.age; } if (this.score - s.score > 0) { return -1; } else { return 1; } } } static class StudentComparator implements Comparator<Student> { @Override public int compare(Student o1, Student o2) { if (o1.score == o2.score) { return o1.age - o2.age; } if (o1.score - o2.score > 0) { return -1; } else { return 1; } } } }
4、现在有一个map集合如下:
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "张三丰");
map.put(2, "周芷若");
map.put(3, "汪峰");
map.put(4, "灭绝师太");
要求:
1.遍历集合,并将序号与对应人名打印。
2.向该map集合中插入一个编码为5姓名为李晓红的信息
3.移除该map中的编号为1的信息
4.将map集合中编号为2的姓名信息修改为"周林"
import java.util.HashMap; import java.util.Map; import java.util.Set; public class HWDemo04 { public static void main(String[] args) { Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "张三丰"); map.put(2, "周芷若"); map.put(3, "汪峰"); map.put(4, "灭绝师太"); //遍历集合,并将序号与对应人名打印 Set<Integer> set = map.keySet(); for (int i : set) { System.out.println(i + "=" + map.get(i)); //向该map集合中插入一个编码为5姓名为郭靖的信息 map.put(5, "郭靖"); //移除该map中的编号为1的信息 map.remove(1); //将map集合中编号为2的姓名信息修改为"周林" map.put(2, "周林"); } } }
5、已知有十六支男子足球队参加2020 奥运会。写一个程序,把这16 支球队随机分为4 个组。
采用List集合和随机数
2020 奥运会男足参赛国家:
科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,
新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利
import java.util.ArrayList; import java.util.List; import java.util.Random; public class HWDemo05 { public static void main(String[] args) { List<String> lt = new ArrayList<>(); lt.add("科特迪瓦"); lt.add("阿根廷"); lt.add("澳大利亚"); lt.add("塞尔维亚"); lt.add("荷兰"); lt.add("尼日利亚"); lt.add("日本"); lt.add("美国"); lt.add("中国"); lt.add("新西兰"); lt.add("巴西"); lt.add("比利时"); lt.add("韩国"); lt.add("喀麦隆"); lt.add("洪都拉斯"); lt.add("意大利"); Random random = new Random(); for (int i = 0; i < 4; i++) {System.out.println("第" + (i + 1) + "组是:");} for (int j = 0; j < 4; j++) {String string; string = lt.get(random.nextInt(lt.size())); System.out.print(string + " "); lt.remove(string); } System.out.println("\n"); } }