上次作业答案
USB接口
package Dome;public interface USB { void read();}
Camera类
package Dome;public class Camera implements USB{ @Override public void read() { System.out.println("正在读取相机资料"); }}
Upan类
package Dome;public class Upan implements USB{ @Override public void read() { System.out.println("正在读取U盘内容"); }}
Test类
package Dome;public class Test { public static void main(String[] args) { USB usb = new Camera(); usb.read(); USB usb1 = new Upan(); usb1.read(); }}
01 集合
Java中的集合框架是指一系列存储数据的接口和类,这些类和接口都位于java.util包中
使用集合框架可以解决复杂的数据存储问题,Java中内置了丰富的集合框架
List接口的定义:
List接口的常用子类有:ArrayList和Vector
ArrayList用法类似于数组,且其容量可按需要动态调整,亦被称为动态数组
Vector类能够实现可增长的对象数组;其大小可以根据需要增大或缩小
ArrayList | Vector |
当元素存储达到指定容量时,自动 增长为原容量的二分之一 | 当元素存储达到指定容量时,原容量自动增长一倍 |
非线程安全且性能更高 | 线程安全但性能较低 |
Set接口的定义:
Set接口常用子类:HashSet
Map接口:
Map接口的常用子类有:HashMap和Hashtable
HashMap不允许出现重复键,但允许出现空键和空值
Hashtable不允许出现空键和空值
02 Iterator 迭代器
HashSet类中没有提供根据集合索引获取索引对应的值的方法,因此遍历HashSet时需要使用Iterator迭代器
Iterator是对集合进行迭代的迭代器,通过迭代器可以对集合进行遍 历。Iterator的主要方法如下:
返回类型 | 方法 | 描述 |
boolean | hashNext() | 如果有元素可迭代 |
Object | next() | 返回迭代的下一个元素 |
03泛型
在建立对象时不指定类中属性的具体类型,而是在声明及实例化对象时由外部指定。泛型可以提高数据安全性。
泛型的主要原理是声明类时通过标识表示类中某个属性的类型,或某方法的返回值及参数类型。此时声明和实例化类时只要指定需要的类型即可
泛型定义包括泛型类定义和泛型对象定义,其中泛型对象定义的应用最为普遍
泛型类定义:class 类名 {}
04 视频内容
视频如果不清晰,请点击暂停然后用腾讯视频打开调整清晰度课后练习
练习:使⽤hashmap,定义⼀个字符串,统计字符串中每个字符的个数。如“adbda” 输出结果为: