1、使用Set集合,生成1-25之内不重复的7个随机整数。
//代码
package com.practice1111;
import java.util.HashSet;
import java.util.Set;
public class createRandomBySet {
public static void main(String[] args) {
Set<Integer> randomSet = new HashSet<Integer>();
while (randomSet.size() < 7) {
//土方法,方法一,先生成0-25内的随机整数,然后判断去“0”
int myRandom = (int) (Math.random() * 100) % 25;
if(myRandom==0) {
continue;
}else {
randomSet.add(myRandom);
}
/*生成随机数,方法二,先生成一个0-1的随机数,然后乘以24,再加1,最后取整
*int myRandom = (int) (Math.random() * 24 + 1);
*randomSet.add(myRandom);
*/
}
//打印集合
for (Object result : randomSet) {
System.out.print(result + " ");
}
}
}
运行结果:
2、如何判断两个集合是否有交集,并打印出他们的交集。
//代码
package com.practice1111;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
public class findTheIntersectionOfSets {
public static void main(String[] args) {
Integer[] a = { 1, 2, 3, 4, 5 };
Integer[] b = { 3, 4, 5, 6, 7, 8, 9 };
List<Integer> list1 = new ArrayList<Integer>(a.length);
List<Integer> list2 = new ArrayList<Integer>(b.length);
//方法一:增强for循环,将数组元素添加到集合中
/*for(int c: a) {
list1.add(c);
}
for(int d: b) {
list2.add(d);
}*/
// 方法二:将数组元素添加到集合中
Collections.addAll(list1, a);
Collections.addAll(list2, b);
// 打印list1集合
System.out.println("集合二的元素为:");
for (int e : list1) {
System.out.print(e + " ");
}
System.out.println();
// 打印list2集合
System.out.println("集合一的元素为:");
for (int f : list2) {
System.out.print(f + " ");
}
System.out.println();
// 判断两个集合有无交集,有则打印交集
if (list1.retainAll(list2)) {
System.out.println("有交集:");
for (int e : list1) {
System.out.print(e + " ");
}
} else {
System.out.println("没有交集!");
}
}
}
运行结果:
3、给你两个集合,要求合并{A} + {B}={C}。 要求集合C中不会有相同的元素。
//代码
package com.practice1111;
import java.util.Set;
import java.util.HashSet;
public class MergeCollection {
public static void main(String[] args) {
Integer[] a = { 1, 2, 3, 4, 5 };
Integer[] b = { 3, 4, 5, 6, 7, 8, 9 };
Set<Integer> A = new HashSet<Integer>(a.length);
Set<Integer> B = new HashSet<Integer>(a.length);
//添加数组元素到A集合
for(int c: a) {
A.add(c);
}
//打印A集合
System.out.println("集合A中的元素为:");
for(int re: A) {
System.out.print(re + " ");
}
//添加数组元素到B集合
for(int d: b) {
B.add(d);
}
System.out.println();
//打印B集合
System.out.println("集合B中的元素为:");
for(int re: b) {
System.out.print(re + " ");
}
//合并A集合和B集合
for(int e: A) {
B.add(e);
}
System.out.println();
System.out.println("合并后的集合为:");
for(int f : B) {
System.out.print(f + " ");
}
}
}
运行结果为:
4、(list集合)输入工人信息:
- 创建一个List,在List 中增加三个工人,基本信息如下:
姓名 | 年龄 | 工资 |
---|---|---|
zhang3 | 18 | 3000 |
li4 | 25 | 3500 |
wang5 | 22 | 3200 |
-
在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300 。
-
删除wang5 的信息 。
-
遍历,打印List 中所有工人的信息 。
-
利用迭代遍历。
//代码
package com.practice1111;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Worker w1 = new Worker("zhang3", 18, 3000);
Worker w2 = new Worker("li4", 25, 3500);
Worker w3 = new Worker("wang5", 22, 3200);
Worker w4 = new Worker("zhao6", 24, 3300);
List<Worker> workersList= new ArrayList<Worker>();
workersList.add(w1);
workersList.add(w2);
workersList.add(w3);
int index = 0;
System.out.println("*************第一问:添加工人信息****************");
//打印工人信息
for(Worker o: workersList) {
System.out.println("姓名:" + o.getName() + " 年龄:" + o.getAge() + " 工资:" + o.getSalary());
}
workersList.add(1, w4);
System.out.println("*************第二问:插入zhao6*****************");
System.out.println("添加zhao6完成!");
//添加zhao6后,打印工人信息
for(Worker o: workersList) {
System.out.println("姓名:" + o.getName() + " 年龄:" + o.getAge() + " 工资:" + o.getSalary());
}
System.out.println("*************第三问:删除wang5 的信息*****************");
System.out.println("删除wang5完成!");
//集合中删除wang5的信息
workersList.remove(w3);
for(Worker o: workersList) {
System.out.println("姓名:" + o.getName() + " 年龄:" + o.getAge() + " 工资:" + o.getSalary());
}
System.out.println("*************第四问:增强for循环遍历*****************");
for(Worker o: workersList) {
System.out.println("姓名:" + o.getName() + " 年龄:" + o.getAge() + " 工资:" + o.getSalary());
}
System.out.println("*************第五问:利用迭代遍历********************");
Iterator it = workersList.iterator();
while(it.hasNext()) {
Worker w = (Worker) it.next();
System.out.println("姓名:" + w.getName() + " 年龄:" + w.getAge() + " 工资:" + w.getSalary());
}
}
}
class Worker{
String name;
int age;
int salary;
//无参构造方法
public Worker() {
// TODO Auto-generated constructor stub
}
//有参构造方法
public Worker(String name, int age, int salary) {
super();
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
运行结果为:
5、某班级有若干学生(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性(String)和考试成绩属性(int)。某次考试结束后,每个学生都获得了一个考试成绩,请打印出这个班级的总分和平均分。
//代码
package com.practice1111;
import java.util.List;
import java.util.ArrayList;
public class StudentTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s1 = new Student("zhangsan", "一班", 85);
Student s2 = new Student("lisi", "一班", 97);
Student s3 = new Student("wangwu", "一班", 76);
Student s4 = new Student("zhaoliu", "二班", 86);
Student s5 = new Student("cuiqi", "二班", 98);
Student s6 = new Student("sunba", "二班", 92);
Student s7 = new Student("lijiu", "二班", 100);
int totleScore1 = 0;
int totleScore2 = 0;
List list1 = new ArrayList();
list1.add(s1);
list1.add(s2);
list1.add(s3);
List list2 = new ArrayList();
list2.add(s4);
list2.add(s5);
list2.add(s6);
list2.add(s7);
for(Object s : list1) {
Student student = (Student) s;
totleScore1 += student.getscore();
}
for(Object s : list2) {
Student student = (Student) s;
totleScore2 += student.getscore();
}
System.out.println("一班的总分为:" + totleScore1 + "分" + " 平均分为:" + (double)totleScore1/list1.size()+ "分");
System.out.println("二班的总分为:" + totleScore2 + "分" + " 平均分为:" + (double)totleScore2/list2.size()+ "分");
}
}
class Student{
String name;
String className;
int score;
public Student(String name, String className, int score) {
super();
this.name = name;
this.className = className;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public int getscore() {
return score;
}
public void setscore(int score) {
this.score = score;
}
}
运行结果为: