刚刚开始写这个,会有很多不足,希望朋友们可以多多指点。

一:课前学习与自测
(1)定义一个泛型类或泛型接口的类型变量应使用 T
(2)若需要指定泛型参数是某个类或其子类实例,应该使用 this 关键字。
(3)Array List是一个泛型类。若创建一个包含Interger的ArrayList对象,使用菱形语法
ArrayList arraylist =new ArrayList();
(4)判断一个集合对象c中是否包含指定的元素使用的方法是 Contains(obj)
(5)使用增强for循环访问集合中元素的语法是 如下图所示
(6) 迭代器(Iterator) 得到集合的迭代对象。
(7)若将一个数组转换成一个List对象,应使用 Arrays.asList() 方法。
(8)要使添加到集合(Set)中的元素按指定的顺序排序,应该使用什么集合类? TreeSet
(9)给出一个双向队列(Deque)接口的一个实现类ArrayDeque类
(10)用来存放“键/值”对的集合对象有 MapArrayList
(11)要打乱List对象中各元素的次序,应该使用 Collections.shuffle() 方法
(12)写一个语句,通过一个数组各元素创建一个Stream流对象: 如下图所示
(13)写一个语句,通过一个集合对象创建一个并行Stream流对象: 如下图所示
二:编程题
1、创建一个元素是字符串的ArrayList对象,在其中添加若干元素。编写程序,用下面三种方法将其中每个字符串转换成大写。
(1)通过索引循环访问
(2)使用迭代器
(3)调用replaceAll()方法
代码如下:

package ggllff;
import java.util.Arrays;
import java.util.*;
public class TTest {public static void main(String[] args) {ArrayList<String> s=new ArrayList<String>();s.add("dhuij");s.add("wgybm");s.add("GUIXS");s.add("iopq");s.add("bhwea");System.out.println("原列表是:");for(String w:s){System.out.print(w+"  ");}System.out.println();System.out.println("方法一通过索引循环访问使得每个字符串转换成大写:");for(String i:s){System.out.print(i.toUpperCase()+"  ");}System.out.println();System.out.println("方法二使用迭代器使得每个字符串转换成大写:");Iterator x=s.iterator();//生成一个迭代器,并赋值给xwhile (x.hasNext()) {//使用hasNext()检查序列中是否还有元素String m =(String) x.next();m=m.toUpperCase();System.out.print(m+"  ");}System.out.println();System.out.println("方法三调用replaceAll()方法使得每个字符串转换成大写:");s.replaceAll(m->m.toUpperCase());for(String k:s){System.out.print(k+" ");    }    }   }

运行结果如下:

2、编写程序,随机生成20个一位数,将它们分别添加到HashSet对象和TreeSet对象中。
(1)使用增强for循环访问集合中的每个元素。

代码如下:

package ggllff;
import java.util.*;
public class TTest {public static void main(String[] args) {Random r = new Random();Set<Integer> set=new HashSet<Integer>();Set<Integer> sat=new TreeSet<Integer>();int[] mm=new int[20];for (int i=0;i<mm.length;i++) {mm[i]=r.nextInt(10);set.add(mm[i]);sat.add(mm[i]);}System.out.println("HashSet:");for(int j:set){System.out.print(j+" ");}System.out.println();
System.out.println("HashSet:");for(int k:sat){System.out.print(k+" ");} }
}

运行结果如下:

(2)使用Iterator迭代器访问集合中的每个元素。为什么集合中的元素不是20个?
代码如下:

package ggllff;
import java.util.*;
import java.util.HashSet;
import java.util.Set;
public class TTest {public static void main(String[] args) {Random r = new Random();Set<Integer> set=new HashSet<Integer>();Set<Integer> sat=new TreeSet<Integer>();int[] mm=new int[20];for (int i=0;i<mm.length;i++) {mm[i]=r.nextInt(10);set.add(mm[i]);sat.add(mm[i]);}Iterator<Integer> iterator=set.iterator();System.out.println("HashSet:");while(iterator.hasNext()){System.out.print(iterator.next()+" ");}System.out.println();Iterator<Integer> iteratory=sat.iterator();System.out.println("TreeSet:");        while(iteratory.hasNext()){System.out.print(iteratory.next()+" ");}}

运行结果如下:

一位数是0~9的数,总共10个元素,set集合是不存储重复的元素。元素不可能达到20个。

第九章泛型与集合(甘琳凤)相关推荐

  1. 第九章 泛型结构和接口

    1 泛型结构 结构和类同属于复合类型,可以有字段成员.方法成员和嵌套成员.同样,可以通过引入类型参数来定义泛型结构.泛型类的定义规则,包括类型限制.继承定义.构造类型的指定等,同样可以应用于泛型结构. ...

  2. Java期中考试总结(甘琳凤)

    考试中遇到的问题以及一些总结 1.下面不属于Java语言注释的是(). A. // B. /*.........*/ C /**..........*/ D. '''..........'''' 我的 ...

  3. 【疯狂Java讲义】第九章 泛型

  4. 第九章 泛型和枚举-枚举

    二.Java枚举Enum ​ 在某些情况下,一个类的对象的实例有限且固定的,如季节类,它只有春夏秋冬4个对象,再比如星期,在这种场景下我们可以使用枚举.当然我们也可以有自己的方法来实现. 方案一:静态 ...

  5. SCJP笔记_章七_泛型与集合

    第七章 泛型与集合 7.1 重写hashCode()和equals()方法 考试目标6.2 区分hashCode()和equals()方法的正确设计和错误设计,并解释 == 和equals()方法的不 ...

  6. CoreJava 笔记总结-第九章 集合

    第九章 集合 文章目录 第九章 集合 `Java`集合框架 集合接口与实现分离 `Collection`接口 迭代器 泛型实用方法 集合框架中的接口 具体集合 链表 数组列表 散列集 树集 优先队列 ...

  7. Kotlin学习笔记 第二章 类与对象 第九节 泛型

    参考链接 Kotlin官方文档 https://kotlinlang.org/docs/home.html 中文网站 https://www.kotlincn.net/docs/reference/p ...

  8. 欧拉公式在计算机图形学中的,计算机图形学 第九章课件.ppt

    <计算机图形学 第九章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机图形学 第九章课件.ppt>文档请在天天文库搜索. 1.甘朝华第 ...

  9. 《C++Primer》第九章-顺序容器-学习笔记(1)-顺序容器定义与操作

    <C++Primer>第九章-顺序容器-学习笔记(1) 文章目录 <C++Primer>第九章-顺序容器-学习笔记(1) 摘要 顺序容器的定义 容器元素的初始化 将一个容器初始 ...

  10. 深入理解Java虚拟机(第二版) 第九章:类加载及执行子系统的案例与实战

    第九章 类加载及执行子系统的案例与实战 9.1 概述 9.2 Tomcat: 正统的类加载器架构 9.3 OSGi:灵活的类加载器架构 9.4 字节码生成技术与动态代理的实现 9.5 Retrotra ...

最新文章

  1. 【制作镜像】BCEC制作镜像
  2. RDKit | 基于RDKit的单分子多构象生成
  3. kafka mysql安装与配置_Mac环境canal+mysql+kafka的安装及使用
  4. 编写python程序_如何进行Python程序的编写
  5. ie6 div height bug css注意点(转)
  6. 连锁加盟网站源码_连锁60秒:招商只是开始,养商才最重要
  7. CentOS 7之Systemd详解之服务单元设置system.service
  8. Java入门基础知识之函数
  9. 【树莓派】使用VNC远程桌面
  10. 14.css中的定位的参照物
  11. 计算机毕业设计ssm大学生日常行为评分管理系统9gl38 (1)系统+程序+源码+lw+远程部署
  12. 解读加多宝的营销案例分析 1
  13. #路由配置以及华为路由协议优先级
  14. 群晖硬盘扩容 逃课方法
  15. 提供一个免费的directui界面库(已开源)
  16. 【Linux】解决笔记本合盖子休眠的问题
  17. 【Linux】计算机软硬件体系结构
  18. JAVA项目中的事务管理
  19. C/C++ | C语言字符数组初始化,有些赋值方式千万注意
  20. Python实现数列的单调有界定理

热门文章

  1. 一个小把戏算法,获取大乐透,并且计算出最佳的结果(Qt C++ 和Android共用)
  2. x5开源库后续知识点
  3. 淘宝卖家如何有效控制直通车展现?
  4. java 构造器 血药主题_Day08-面向对象编程,Java构造器
  5. debian10 buster 在thinkpad T470P 上安装指纹驱动 138a:0097 Validity Sensors
  6. 262-我的大学竞选的事迹材料
  7. c语言用switch编写春夏秋冬,利用switch实现春夏秋冬
  8. 去除XP桌面图标的阴影
  9. 等到花儿也谢了的await
  10. 时间刻度线css,纯CSS时间轴列表