第二十六作业——集合
第二十六作业——集合
目录
1——Collection
collection 的使用(1)关于基本类型
自行编写基本类型 并进行一下 操作
// 1. 添加
// 2. 遍历 iterator 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除与清除
collection 的使用(2)关于Object
自行编写 Object 并进行一下 操作
// 1. 添加
// 2. 遍历 iterator 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除与清除
2——List(序列) 接口 (ArrayList)
List(序列) 接口的使用(1) object
// 1. 添加
// 2. 遍历 ListIterator(前<->后) iterator for 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 可以用下标删除与清除
// 7. 获取对象下标
List(序列) 接口的使用(2) type
// 1. 添加
// 2. 遍历 ListIterator(前<->后) iterator for 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除 三种删除方法 1.下标删除 2.new删除 3.转换 Object 删除
// 7. 获取对象下标
// 8. 截取子列表
List进阶用法(3)
// 1. 添加
// 2. 遍历 ListIterator(前<->后) iterator for 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除 三种删除方法 1.下标删除 2.new删除
// 7. 获取对象下标
// 8. 截取子列表
// 9. 重写 equals 用 new 对象来删除列表的成员 !!!重点!!!
3——Vector 与 LinkedList 的使用
Vector 的使用( type)
// 1. 添加
// 2. 遍历 iterator 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除与清除
// 7. 第一个元素 最后一个元素 返回该下标的元素
LinkedList 的使用 (Object)
// 1. 添加
// 2. 遍历 ListIterator(前<->后) iterator for 增强for
// 3. 判断是否为null
// 4. 判定是否包含
// 5. 显示长度
// 6. 删除
// 7. 获取对象下标
// 8. 重写 equals 用 new 对象来去除列表的成员
4——泛型类 Generic
泛型类有三种表现形式;
泛型类 、 泛型方法 、 泛型接口
泛型类
class
// 创建类 myGeneric
class MyGeneric<T> {
// 1. 创建变量 t
T t;
// 2. 作为方法的参数
public void show(T t){
System.out.println(t);
}
// 3. 作为方法的返回值
public T getT(){
return t;
}
}
- 题一 在启动类中分别 定义为 String 和 Integer 类 , 应用到所有的变量及方法 使其正常运行
- 题二 删除 其泛型类 重写 泛型类 使其能够正常运行
只要在使用中不定义泛型类型 就可以使用任意类型
泛型接口
Interface
interface MyInterface<T> {
String name = "张三";
public T service(T t);
}
- 题 编写两个实现类 一种定义泛型为String 一种不定义泛型 。并实现方法 。
泛型方法
- 编写一个有返回值的泛型方法 一个没有返回值的泛型方法 并运行
泛型集合
-
将以下成员 使用泛型 和增强for 用基本类型打印出来 ArrayList arrayList = new ArrayList(); arrayList.add("12"); arrayList.add("12");
-
创建一个学生类 添加到集合中 用 迭代器+泛型 打印出来
5——Set 集合
-
Set<String> set = new HashSet<>(); // 1. 添加 // 2. 删除 // 3. 遍历 增强for Iterator // 4. 判定是否包含 是否为null // 5. 显示长度 // 6. 获取对象下标
HashSet 的使用 (type)
创建 hashSet 并进行以下操作
HashSet<String> hashSet = new HashSet<String>();
// 1. 添加
// 2. 删除
// 3. 遍历 增强for Iterator
// 4. 判定是否包含 是否为null
// 5. 显示长度
// 6. 获取对象下标
HashSet 的使用 (Object)
知晓hashSet 录入原则 利用重写 equals 来避免重复输入
1. 创建学生类对象
2. 利用重写 equals 来避免 new 出来的对象 的重复输入
6——ThreeSet
TreeSet 的使用(1) [type]
// 1. 建立泛型为 String 的 TreeSet 集合 完成下列操作
// 2. 添加
// 3. 显示长度
// 4. 删除
// 5. 遍历 增强for Iterator
// 6. 判断是否为 null
// 7. 判断是否包含
TreeSet 的使用(2) [Object]
// 1. 建立泛型为 Person 的 TreeSet 集合 完成下列操作
// 2. 添加
// 3. 显示长度
// 4. 删除
// 5. 遍历 增强for Iterator
// 6. 判断是否为 null
// 7. 判断是否包含
// 8. 利用实现 comparable 类重写其中的 comparTo 来避免 不同对象名,而相同值 的重复输入 其实这个重写并不是为了 避免重复输入 而是不重写的话 会tm 报错!
comparator 匿名接口的使用
// 1. 使用 comparator 接口 运行 集合 (Object)
// 2. TreeSet 设置比较规则案例 (type)
treeSet.add("浙江大学");
treeSet.add("杭州电子科技大学");
treeSet.add("浙江理工大学");
treeSet.add("浙江工业大学");
treeSet.add("宁波诺丁汉大学");
treeSet.add("嘉兴学院");
7——Map 集合 (key,value)
Map 接口的使用 (String,String)
// 1. 添加
// 2. 显示长度
// 3. 删除
// 4. 遍历 keySet entrySet
// 5. 判断是否为 null
// 6. 判断是否包含 key value
map.put("cn","中国");
map.put("uk","英国");
map.put("usa","美国");
map.put("cn","中华");
HashMap 的使用 (Student,String)
// 1. 添加
// 2. 显示长度
// 3. 删除
// 4. 遍历 keySet entrySet
// 5. 判断是否为 null
// 6. 判断是否包含 key value
treeMap.put(s1,"北京");
treeMap.put(s2,"上海");
treeMap.put(s3,"广州");
treeMap.put(s4,"深圳");
treeMap.put(s5,"曹县");
TreeMap (Student,String)
// 1. 添加
// 2. 显示长度
// 3. 删除
// 4. 遍历 keySet entrySet
// 5. 判断是否为 null
// 6. 判断是否包含 key value
treeMap.put(s1,"北京");
treeMap.put(s2,"上海");
treeMap.put(s3,"广州");
treeMap.put(s4,"深圳");
treeMap.put(s5,"曹县");
8——Collections 工具类 (List — demo)
// 1. sort
// 2. binarySearch(二分查找)
// 3. copy
// 4. reverse
// 5. shuffle
// 6. toArray list ————> 数组
// 7. Array.asList 数组 ————> List
//
如果你有梦想 就努力去实现 就这样