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
\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