{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计

上传人:卓****库 文档编号:141134916 上传时间:2020-08-04 格式:PPTX 页数:28 大小:243.45KB
返回 下载 相关 举报
{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计_第1页
第1页 / 共28页
{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计_第2页
第2页 / 共28页
{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计_第3页
第3页 / 共28页
{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计_第4页
第4页 / 共28页
{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计》由会员分享,可在线阅读,更多相关《{包装印刷造纸公司管理}包装印刷包装类与集合类程序设计(28页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计视频教程,本讲主题:包装类与集合类,主讲教师:黄洪,2,包装类,包装类将基本数据类型包装成引用数据类型。 每个包装类对象都封装了基本类型的一个值。,基本数据类型 对应的包装类 booleanBoolean byteByte charCharacter shortShort int Integer longLong floatFloat doubleDouble,3,包装类,包装类中包含了很多有用的方法和常量。 创建相应的包装类对象(Xxx表示包装类的名称) Xxx(a value) Xxx(String s) 类型的最大值与最小值 MIN_VALUE MAX_VALUE 将字符

2、串转换成该类型对应的基本数据类型 public static xxx parseXxx(String s),其中Xxx表示基本数据类型名称 将该类型的对象转换成字符串 public String toString() public static String toString( xxx anxxxValue) public static String toString(int i, int radix) /同时实现数制转换,4,包装类,例:利用包装类Integer的parseInt方法,将字符串转换为整数。 public static int parseInt(Strings) throws

3、NumberFormatException 请大家回去自己仔细研究各包装类及其方法。,5,class TestInteger public static void main(String args) int i1= Integer.parseInt(args0); int i2= Integer.parseInt(args1); System.out.println( i1+i2 ); ,6,集合类,一个集合类对象用于表示了一组对象的集合,是对象的容器。,7,Set,Set不能包含重复的元素。 Set 接口定义: public interface Set / 基本方法 int size();

4、boolean isEmpty(); boolean contains(Object element); boolean add(Object element); boolean remove(Object element); Iterator iterator(); ,8,List,List是有序的集合,元素可以重复。 List接口定义: public interface List extends Collection Object get(int index); Object set(int index, Object element); / Optional void add(int i

5、ndex, Object element); / Optional Object remove(int index); / Optional abstract boolean addAll(int index, Collection c); / Optional / Search int indexOf(Object o); int lastIndexOf(Object o); List的实现: Vector,ArrayList, LinkedList,9,Vector与ArrayList,Vector与ArrayList功能类似,但Vector是多线程安全的,具有多线程同步机制,能够保证多个

6、线程对同一个Vector对象操作时数据的正确性。而ArrayList则没有处理多线程同步问题。 本讲介绍Vector,10,向量Vector,Vector是一个类,功能类似数组,但存在以下区别 元素的个数可变 元素的类型必须是引用类型 Vector对象中可以存放的元素个数称为向量的容量(capacity) Vector对象中实际元素的个数称为向量的长度(size) 当长度超出容量时,向量对象的容量会自动扩大,一次扩大一个容量增量;容量增量为0时,容量扩大一倍。 Vector类在java.util包中,使用时要引入(在类前面用import java.util.Vector;)或用完整的名称。,1

7、1,向量变量的声明,声明格式: Vector 变量名 例: 声明一个元素类型为字符串的向量变量vs Vector vs; 下面的声明是错误的,因为int不是引用类型。 Vector vi; 下面的声明被允许,但会出现编译警告 Vector vo;,12,向量的构造方法,创建初始容量为10,默认增量为0的向量对象: new Vector() 创建初始容量为initialCapacity,默认增量为0的向量对象: new Vector(int initialCapacity) 创建初始容量为initialCapacity,默认增量为capacityInc的向量对象: new Vector(int

8、initialCapacity,int capacityInc) 构造方法不指定元素类型会出现编译警告,13,声明向量变量并实例化向量对象的例子,变量vs引用一个元素类型为字符串的向量,其初始容量为10,默认增量为0: Vector vs=new Vector(); 变量vo引用一个没有指定元素类型的向量,其初始容量为16,默认增量为8: Vector vo=new Vector(16,8);,14,对向量的主要操作,增加元素 将指定元素追加到此向量的末尾。 boolean add(E o) 插入元素 在此向量的指定位置插入指定的元素,和数组一样index的取值从0开始。 void add(i

9、nt index, E element) 修改元素 用指定的元素替换此向量中指定位置index处的元素。 E set(int index, E element),15,对向量的主要操作(续),删除元素 移除此向量中指定位置的元素。 E remove(int index) 移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。 boolean remove(Object o) 从此向量中移除所有元素。 void clear(),16,对向量的主要操作(续),查询 返回向量中指定位置的元素。 E get(int index) 判断指定的对象是否为此向量中的某个元素。 boole

10、an contains(Object elem) 返回此向量的第一个元素(位于索引 0 处的项)。 E firstElement() 返回此向量的最后一个元素。 E lastElement(),17,对向量的主要操作(续),查询元素的位置索引 返回给定参数的第一个匹配项的索引,使用 equals 方法测试相等性。没有匹配项则返回-1。 int indexOf(Object elem) 返回给定参数的第一个匹配项的索引,从 index 处开始匹配,并使用 equals 方法测试其相等性。没有匹配项则返回-1 int indexOf(Object elem, int index) 返回指定的对象在

11、此向量中最后一个匹配项的索引。没有匹配项则返回-1。 int lastIndexOf(Object elem) 从后往前搜索指定的对象并返回其索引。从指定的索引处开始搜索。没有匹配项则返回-1。 int lastIndexOf(Object elem, int index),18,对向量的主要操作(续),查询向量的相关信息 返回此向量的当前容量。 int capacity() 返回此向量中的元素个数。 int size() 测试此向量是否不包含元素。 boolean isEmpty(),19,对向量的主要操作(续),改变向量的长度或容量 设置此向量的长度。如果新长度大于老长度则尾部添加null

12、;如果新长度小于老长度则尾部元素删除; void setSize(int newSize) 对此向量的容量进行微调,使其等于向量的当前大小。 void trimToSize() 增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的元素个数。 void ensureCapacity(int minCapacity),20,向量使用示例,import java.util.Vector; class TestVector public static void main(String args) Vector vs=new Vector(16,8); vs.add(1); vs.add

13、(2); vs.add(1,3); System.out.println (vs.toString(); if (vs.contains(3) System.out.println (3is an element of vs); vs.remove(3); System.out.println (vs.toString(); ,21,哈希表/散列表( Hashtable),将数据按“关键字”(key)和“值”(value)配对存放,通过key可以快速找到value。其原理是建立key到value的映射。 Java中实现哈希表的有三个类:Hashtable, HashMap, WeakHashM

14、ap, 他们的区别有三个,详见教材P149。 上述三个类在java.util包中。,22,哈希表变量的声明,声明格式 Hashtable 变量名 或者 Hashtable 变量名 注意: 哈希表的关键字和值都必须是引用类型 第二种声明格式会导致编译警告,23,哈希表的构造方法,用缺省的容量11和装填因子0.75f构造一个新的空哈希表。 Hashtable () 用指定的初始的容量和缺省的装填因子构造一个新的空哈希表。 Hashtable (int) 用指定的初始的容量和指定的装填因子构造一个新的空哈希表。 Hashtable (int, float) 注意:不指明类型也可以,但会导致出现编译警

15、告,24,声明哈希表变量并实例化哈希表对象,按默认的容量和装填因子创建一个哈希表对象,其关键字是String类型,值是Integer类型: Hashtable ht=new Hashtable(); 创建一个初始容量为20,装填因子为0.8f的哈希表对象,不指定关键字和值的类型。 Hashtable ht=new Hashtable(20,0.8f);,25,哈希表常用操作,添加元素 在该散列表中映射指定的kObject键到指定的 vObject值。 V put(kObject, vObject) 查找元素 返回指定的键kObject在这个散列表中的映射值。 V get(kObject) 删除

16、元素 从该散列表中删除键值为kObject的元素。 V remove(kObject) 清空该散列表使它不包含元素。 void clear(),26,哈希表常用操作(续),检测 检测指定的对象是否是该散列表中的一个键。 boolean containsKey(Object key) 检测在该散列表中某些键是否映射到指定的值。 boolean contains(Object value) 返回该散列表中的元素个数。 int size(),27,哈希表使用示例,import java.util.Hashtable; class TestHashtable public static void main(String args) Hashtable ht=new Hashtable(20,0.8f); ht.put(许斌,200726630420); ht.put(陈梦瑶,200726470204); System.out.println

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号