收藏 分享(赏)

课前问题.ppt

上传人:无敌 文档编号:341522 上传时间:2018-03-31 格式:PPT 页数:28 大小:294.50KB
下载 相关 举报
课前问题.ppt_第1页
第1页 / 共28页
课前问题.ppt_第2页
第2页 / 共28页
课前问题.ppt_第3页
第3页 / 共28页
课前问题.ppt_第4页
第4页 / 共28页
课前问题.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、1,课前问题,字符串的相等比较 常用equals()方法,不能用=s1.equals(s2),2,第九讲 包装类集合类,包装类集合类,3,包装类,包装类将基本数据类型包装成类。每个包装类对象都封装了基本类型的一个值。,基本数据类型 对应的包装类booleanBooleanbyteBytecharCharactershortShortint IntegerlongLongfloatFloatdoubleDouble,4,包装类,包装类中包含了很多有用的方法和常量。创建相应的包装类对象(Xxx表示包装类的名称)Xxx(a value)Xxx(String s)类型的最大值与最小值MIN_VALUE

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

3、 throws NumberFormatException 请大家回去自己仔细研究各包装类及其方法。,6,集合类,一个集合类对象用于表示了一组对象的集合,相当于一个对象的容器。,7,Set,Set不能包含重复的元素。Set 接口定义:public interface Set / 基本方法 int size(); boolean isEmpty(); boolean contains(Object element); boolean add(Object element); boolean remove(Object element); Iterator iterator(); ,8,List,

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

5、indexOf(Object o); int lastIndexOf(Object o); List的实现: Vector,ArrayList, LinkedList,9,Vector与ArrayList,Vector与ArrayList功能类似,但Vector是多线程安全的,具有多线程同步机制,能够保证多个线程对同一个Vector对象操作时数据的正确性。而ArrayList则没有处理多线程同步问题。本讲介绍Vector,10,向量Vector,Vector是一个类,功能类似数组,但存在以下区别元素的个数可变元素的类型必须是引用类型Vector对象中可以存放的元素个数称为向量的容量(capac

6、ity)Vector对象中实际元素的个数称为向量的长度(size)当长度超出容量时,向量对象的容量会自动扩大,一次扩大一个容量增量;容量增量为0时,容量扩大一倍。Vector类在java.util包中,使用时要引入(在类前面用import java.util.Vector;)或用完整的名称。,11,向量变量的声明,声明格式: Vector 变量名例:声明一个元素类型为字符串的向量变量vs Vector vs;下面的声明是错误的,因为int不是引用类型。 Vector vi;下面的声明被允许,但会出现编译警告 Vector vo;,12,向量的构造方法,创建初始容量为10,默认增量为0的向量对象

7、:Vector()创建初始容量为initialCapacity,默认增量为0的向量对象:Vector(int initialCapacity)创建初始容量为initialCapacity,默认增量为capacityInc的向量对象:Vector(int initialCapacity,int capacityInc)构造方法不指定元素类型会出现编译警告,13,声明向量变量并实例化向量对象的例子,变量vs引用一个元素类型为字符串的向量,其初始容量为10,默认增量为0:Vector vs=new Vector();变量vo引用一个没有指定元素类型的向量,其初始容量为16,默认增量为8:Vector

8、 vo=new Vector(16,8);,14,对向量的主要操作,增加元素将指定元素追加到此向量的末尾。boolean add(E o)插入元素在此向量的指定位置插入指定的元素,和数组一样index的取值从0开始。void add(int index, E element)修改元素用指定的元素替换此向量中指定位置index处的元素。E set(int index, E element),15,对向量的主要操作(续),删除元素移除此向量中指定位置的元素。E remove(int index) 移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。boolean remove

9、(Object o) 从此向量中移除所有元素。void clear(),16,对向量的主要操作(续),查询返回向量中指定位置的元素。 E get(int index) 判断指定的对象是否为此向量中的某个元素。 boolean contains(Object elem) 返回此向量的第一个元素(位于索引 0 处的项)。 E firstElement() 返回此向量的最后一个元素。 E lastElement(),17,对向量的主要操作(续),查询元素的位置索引返回给定参数的第一个匹配项的索引,使用 equals 方法测试相等性。没有匹配项则返回-1。 int indexOf(Object ele

10、m) 返回给定参数的第一个匹配项的索引,从 index 处开始匹配,并使用 equals 方法测试其相等性。没有匹配项则返回-1 int indexOf(Object elem, int index) 返回指定的对象在此向量中最后一个匹配项的索引。没有匹配项则返回-1。 int lastIndexOf(Object elem) 从后往前搜索指定的对象并返回其索引。从指定的索引处开始搜索。没有匹配项则返回-1。 int lastIndexOf(Object elem, int index),18,对向量的主要操作(续),查询向量的相关信息返回此向量的当前容量。 int capacity() 返回

11、此向量中的元素个数。int size() 测试此向量是否不包含元素。 boolean isEmpty(),19,对向量的主要操作(续),改变向量的长度或容量设置此向量的长度。如果新长度大于老长度则尾部添加null;如果新长度小于老长度则尾部元素删除; void setSize(int newSize) 对此向量的容量进行微调,使其等于向量的当前大小。void trimToSize() 增加此向量的容量(如有必要),以确保其至少能够保存最小容量参数指定的元素个数。 void ensureCapacity(int minCapacity),20,向量使用示例,import java.util.Ve

12、ctor;class TestVectorpublic static void main(String args) Vector vs=new Vector(16,8); vs.add(1); vs.add(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),将数据按“关键字”

13、(key)和“值”(value)配对存放,通过key可以快速找到value。其原理是建立key到value的映射。Java中实现哈希表的有三个类:Hashtable, HashMap, WeakHashMap, 他们的区别有三个,详见教材P149。上述三个类在java.util包中。,22,哈希表变量的声明,声明格式Hashtable 变量名或者Hashtable 变量名注意:哈希表的关键字和值都必须是引用类型第二种声明格式会导致编译警告,23,哈希表的构造方法,用缺省的容量11和装填因子0.75f构造一个新的空哈希表。 Hashtable () 用指定的初始的容量和缺省的装填因子构造一个新的

14、空哈希表。 Hashtable (int) 用指定的初始的容量和指定的装填因子构造一个新的空哈希表。 Hashtable (int, float) 注意:不指明类型也可以,但会导致出现变异警告,24,声明哈希表变量并实例化哈希表对象,按默认的容量和装填因子创建一个哈希表对象,其关键字是String类型,值是Integer类型:Hashtable ht=new Hashtable();创建一个初始容量为20,装填因子为0.8f的哈希表对象,不指定关键字和值的类型。Hashtable ht=new Hashtable(20,0.8f);,25,哈希表常用操作,添加元素 在该散列表中映射指定的kOb

15、ject键到指定的 vObject值。 V put(kObject, vObject) 查找元素返回指定的键kObject在这个散列表中的映射值。V get(kObject) 删除元素 从该散列表中删除键值为kObject的元素。V remove(kObject) 清空该散列表使它不包含元素。 void clear(),26,哈希表常用操作(续),检测检测指定的对象是否是该散列表中的一个键。 boolean containsKey(Object) 检测在该散列表中某些键是否映射到指定值。boolean contains(Object) 返回该散列表中的元素个数。 int size(),27,哈

16、希表使用示例,import java.util.Hashtable;class TestHashtablepublic static void main(String args) Hashtable ht=new Hashtable(20,0.8f); ht.put(许斌,200726630420); ht.put(陈梦瑶,200726470204); System.out.println (ht); System.out.println (ht.get(陈梦瑶); ht.remove(陈梦瑶); System.out.println (ht.get(陈梦瑶); System.out.prin

17、tln (ht.containsKey(陈梦瑶); System.out.println (ht.size(); ,28,习题,1、编写一个java成绩统计程序,输入一个班的java成绩(含姓名和分数),统计出平均分,最高分、最低分,并打印成绩单。由于编程时人数不确定,所以要求使用Vector或ArrayList完成上述程序。2、研究生入学考试要考四门课,英语,数学,政治、专业,现在需要编写一个查询软件,输入考生的准考证号,软件打印出考生的准考证号,姓名、各门课程的成绩以及总成绩。请按以下步骤完成该软件1)编写一个考生类,其成员变量包含考生姓名、四门课程的成绩以及计算总分的方法。2)编写一个主类,将准考证号作为关键字,考生对象作为元素值放入一个Hashtable中,通过Hashtable完成查询操作。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报