20天jvava(11)

本文详细介绍了Java Collection框架的结构、基本方法、List、Set、Map接口及其实现类,探讨了泛型在Collection中的应用,包括泛型类、作用、使用方式,并通过实例展示了如何在实际开发中运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

corejava day06 - Collection框架
\Collections类\包装类
2011/07/29
=================================
1.Collection框架
1)Collection框架结构
集合接口:Collection List Set SortedSet
Map SortedMap
2)Collection中的基本方法
Collection接口是集合的基接口,
定义了集合共有通用的功能,没有直接的实现类
a. 集合属性:int size()
boolean isEmpty()
b. 添加元素 void add(Object obj)
void addAll(Collection c)
c. 删除元素 void remove(Object o)
void removeAll(Collection c)
void clear()
d. 查询: boolean contains(Object obj)
boolean containsAll(Collection c)
e. 转换为数组:Object[] toArray()
f. 迭代器:Iterator iterator();
Collection接口具有两个子接口:List和Set
3)List接口及其实现类
List的特点:元素按照次序存放,元素可以通过位置访问
List接口增加的方法:add(int,Object)
remove(int)
get(int)
indexOf(Object)
lastIndexOf(Object)
List接口的实现类 - ArrayList Vector
LinkedList
4)Set接口及其实现类
Set接口是Collection的子接口,代表"集",
Set的特点:元素不能重复,元素没有次序,
Set接口没有增加新的方法
Set接口的实现类 - HashSet
HashSet的构造方法:
HashSet(): 初始容量16,加载因子0.75
HashSet(int):指定容量
HashSet(int,float):指定容量和加载因子
SortedSet接口 - TreeSet
SortedSet接口是Set的子接口,
是一个排序的Set
SortdSet接口扩展的方法: Object first()
Object last()
SortedSet headSet(Object toElement) //<toElement
SortedSet tailSet(Object fromElement)//>=fromElement
SortedSet subSet(Object fromElement,Object toElement)//[fromElement,toElement)
TreeSet是SortedSet接口的实现类
5)Map接口及其实现类
Map的特点:以键值对的方式存储元素,元素是无序的
键key是不重复的,值value可以重复
Map接口的方法:
属性: size(), isEmpty()
添加元素: put(key, value)
key不存在,添加新的键值对,
key存在,修改键对应的值
删除元素: remove(key), clear()
更新元素: put(key, value)
查询元素: get(key),
containsKey(key),
containsValue(value)
全部查询: Set keySet() 返回键集(key的Set集合)
Collection values() 返回值的集合
Set<Map.Entry> entrySet() 返回内部类Entry的Set集,通过Entry可以得到key和value
实现类:HashMap Hashtable
SortedMap接口及其实现类:
SortedMap是Map的子接口,包含了排序的键值对,
根据key进行排序
SortedMap扩展的方法有:
Object firstKey()//返回第一个键
Object lastKey() //返回最后一个键
//子集,<toKey,将小于toKey的键对应的元素取出
SortedMap headMap(Object toKey)
//子集,>=fromKey
SortedMap tailMap(Object fromKey)
//子集,[fromKey,toKey)
SortedMap subMap(Object fro mKey,Object toKey)
实现类:TreeMap
6)Java泛型在Collection中的应用
a.什么是泛型
具备参数的类称为泛型类,泛型类具备类型参数
b.泛型的作用
用于类型检查
避免类型转换,提高效率
c.泛型的使用
Collection<T>,List<T>,Set<T>,
Map<K,V>
2.java.util.Collections API
1)简介
Collections是操作集合的工具类,提供静态方法
2)常用方法
sort(list):对list中的对象进行自然顺序排序,list中的对象必须实现过Comparable接口
shuffle(list):将list中的元素打乱顺序
binarySearch(list, e):
在有序的list中查找e所在的索引位置
3.基本类型包装类
1)包装类存在的意义
包装类可以把基本类型包装为对象类型,
包装类是final的类,
包装类覆盖了 toString equals hashCode
有八种包装类
int Integer
long Long
byte Byte
short Short
float Float
double Double
boolean Boolean
char Character
2)Integer类常用API
3)Double类常用API
5)自动包装(auto boxing / unboxing)
java5 的新特性
Integer i = 2;// i=new Integer(2);
Object o = 3.5;
System.out.println(o instanceof Double); //true
int a = i+1;// a = i.intValue() + 1;
可以将基本类型直接保存到集合中

作业
1 复习实现全部课堂案例代码
2 比较性能:
a int i = 1; 重复 i=i+1
b Integer i = 1; 重复 i=i+1;
3 创建一个List<String>集合, 添加多个测试数据
使用Collections.sort() 实现排序.
在排序结果中使用 Collections.binarySearch()
查询一个字符串的位置序号.
4 测试集合HashSet 的全部方法.
add()
addAll();
remove()等
5 测试HashMap的全部方法
put()
get()
remove()
values() 等

6 实现完整版MyArrayList.
参考: MyArrayList
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值