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集合)输入工人信息:

  1. 创建一个List,在List 中增加三个工人,基本信息如下:
姓名 年龄 工资
zhang3 18 3000
li4 25 3500
wang5 22 3200
  1. 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300 。

  2. 删除wang5 的信息 。

  3. 遍历,打印List 中所有工人的信息 。

  4. 利用迭代遍历。

//代码
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 stubWorker 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 stubStudent 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;}}

运行结果为:

Java — set 和 list 集合练习题相关推荐

  1. [转]Java中常用的集合—初学者的你不可错过的精编整理

    集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!    因为 ...

  2. Java 8中处理集合的优雅姿势——Stream

    在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便 ...

  3. java语言基础及集合基础大总结

    好好学java java知识分享/学习教程免费分享 关注 精彩内容 你所需要的java全套视频教程 你所需要的java电子图书 你所需要的大数据视频教程 你所需要的java练习项目 如 / 诗 近半个 ...

  4. java List最大_在java中获取List集合中最大的日期时间操作

    取list集合中最大的日期, 可以用date max = collections.max(datelist);, 传入一个日期集合, 就可以获取, 工作中有这个需求, 就查找到这个, 代码如下 } e ...

  5. java map常用类及其方法_Day50.Map类常用的方法 -Java常用类、集合#、IO

    Day50.Map类常用的方法 -Java常用类.集合#.IO Day50.Map类常用的方法 -Java常用类.集合#.IO Map类常用的方法 . 总结: 常用方法 添加: put(Object ...

  6. List精讲(Java版)·算法常用集合处理方法

    List精讲(Java版)·算法常用集合处理方法 请仔细查阅每一个注释: import java.util.ArrayList; import java.util.Collections; impor ...

  7. Java中如何克隆集合——ArrayList和HashSet深拷贝

    2019独角兽企业重金招聘Python工程师标准>>> 编程人员经常误用各个集合类提供的拷贝构造函数作为克隆List,Set,ArrayList,HashSet或者其他集合实现的方法 ...

  8. Java面试知识点:集合、Set、泛型、HashSet、HashMap

    Java面试知识点:集合.Set.泛型.HashSet.HashMap 答案: 1.集合  集合和数组的对比小结      1,数组的长度是不可变的,集合的长度是可变的.      2 ,数组可以存 ...

  9. Java 数组转成集合List三种方法和(数组、集合List、Set相互转换)

    Java 数组转成集合List 三种方法 package com.list;import java.util.ArrayList; import java.util.Arrays; import ja ...

  10. java中如何上送list集合_如何使用java中的list集合

    如何使用java中的list集合 发布时间:2020-06-26 14:45:11 来源:亿速云 阅读:88 作者:Leah 如何使用java中的list集合?针对这个问题,这篇文章详细介绍了相对应的 ...

最新文章

  1. 传统CV和深度学习方法的比较
  2. 开发人员安全行为规则_为开发人员改善生活的7条简单规则
  3. 我们前端忙成狗 人家后端写sql?
  4. WinFormDataGridView单元格提示和相关应用 之配餐系统的开发
  5. windows下使用mahout|Taste实现协同过滤算法
  6. struts2学习笔记(一):配置struts2开发环境
  7. 青花瓷抓HTTPS数据
  8. web技术分享| WebRTC 实现屏幕共享
  9. 适合高要求应用的高性能MEMS IMU解决方案
  10. 华为2018届校园招聘笔试题目以及相应代码分享 软件开发岗位
  11. java读取ifc文件_IFC - 西北逍遥 - 博客园
  12. 微擎修改服务器域名,微擎服务器ip地址修改
  13. sklearn中分割数据集的函数
  14. 大数据需要学习哪些技术?
  15. 判断南红价值,“红“的等级是关键
  16. ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge 状压dp
  17. greenplum-db-5.10 for Centos 7.6 分布式安装,使用,备份与恢复
  18. 远程桌面上如何打开本地打印机?
  19. 常用数据集网盘免费下载(转载)
  20. keyshot渲染图文教程_KeyShot渲染教程,KeyShot渲染基础教程步骤图文详解

热门文章

  1. Linux命令—vi命令详解
  2. Tomcat 8 和 JDK11 安装记录
  3. 视频怎么转换html代码实现,音视频格式转换神器与html视频元素加字幕——零基础自学网页制作...
  4. 营业执照在线生成_平罗县实现个体户营业执照“秒批”
  5. 黑客网络安全扫描工具
  6. 广数928te_广数928te钻孔程序怎么编?
  7. linux命令行启动向日葵无法编辑,向日葵linux版无法启动
  8. KITTI数据集下载链接
  9. win7电脑怎么设置桌面便签
  10. gerber文件如何转为PCB文件