最新Java面向对象程序设计与系统开发第4章 面向对象开发常用类(共56张PPT课件).pptx
面向对象程序设计面向对象程序设计(chn x sh j)与系统开发与系统开发第4章 面向对象开发(kif)常用类第一页,共五十六页。2驱动驱动(q dn)任务一任务一 定义一个字符串,它以空格、逗号(,)、点()和冒号(:)为分隔符,统计字符串有多少个单词,并将它们(t men)输出到屏幕上。第二页,共五十六页。Java面向对象软件开发3目标目标(mbio)及知识点及知识点StringBuffer类类 2常用方法的使用常用方法的使用3String类类1 1第三页,共五十六页。4String类字符串类字符串v 构造方法构造方法 String():构造一个空字符串对象。 String(char value):通过char数组构造字符串对象。 String(String original):构造一个传入的字符串的副本(fbn),该副本(fbn)与传入的字符串对象是两个不同的对象,虽然它们的内容一样。 String(StringBuffer buffer):通过StringBuffer对象来构造字符串对象,可以利用这个方法来将StringBuffer对象转变成String。String str1 = How do you do? ; / 直接直接赋值赋值方式方式String str2 = new String(); /构造一个构造一个(y )空串,不是空串,不是null String str3 = new String(“I am a student!”); / 通通过过已有已有字符串构造一个新的字符串字符串构造一个新的字符串对对象象第四页,共五十六页。5String类字符串类字符串v常用(chn yn)方法int length() :返回当前字符串长度。boolean equals(Object Object) :当Object不为空并且与当前String对象一样,返回true;否则,返回false。String concat(String str) :将该String对象与str连接在一起返回一个新字符串。char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中字符的序数。该序数从0开始。String s = How do you do? ;int x = s.length();/x的的值为值为: :13 String s = AB;boolean x = s.equals(AB);/x的的值为值为true boolean y = s.equals(BA);/y的的值为值为falseString s1=to;String s2=get;String s3=her;System.out.print(s1.concat(s2.concat(s3); / 输输 出出结结果果(ji gu)为为: :togetherString s = new String(Welcome to Java World!);System.out.println(s.charAt(5); / 输输出出(shch)结结果果为为: :m第五页,共五十六页。6String类字符串类字符串 int indexOf(int ch) :从字符串中匹配参数中的字符,返回第一次匹配字符位置。 int indexOf(int ch, int fromIndex) :从fromIndex这个参数表示的位置起查找(ch zho),返回第一次匹配字符位置。 int indexOf(String str) :返回匹配的字符串第一次出现的位置。 int indexOf(String str,int fromIndex):从fromIndex String s = new String(write once, run anywhere!);String ss = new String(run);System.out.println(s.indexOf(r); / 输输出出(shch)结结果果为为: :1System.out.println(s.indexOf(r,2); / 输输出出结结果果为为: :12System.out.println(s.indexOf(ss); / 输输出出结结果果为为: :12第六页,共五十六页。7String类字符串类字符串v String substring(int beginIndex) :取子串操作,返回从beginIndex位置开始(kish)到结束的子字符串。v String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。String s = 我是中国我是中国(zhn u)人人;String str1 = s.substring(2);/str1的的值为值为“ “中国人中国人” ”String str2 = s.substring(2,4);/str2的的值为值为“ “中国中国” ”第七页,共五十六页。8String类字符串类字符串String replace(char oldChar, char newChar) :将字符串中所有(suyu)的字符oldChar替换成newChar。String replace(String oldString, String newString):将字符串中所包含的oldString子串全部替换为newString。String s = abcbabcd;String str1 = s.replace(b, d);/str1的的值值“ “adcdadcd”String str2 = s.substring(ab,jk);/str2的的值为值为“ “jkcbjkcd”第八页,共五十六页。9String类字符串类字符串String trim():去除字符串左右两边空格(kn )。String toLowerCase() :将字符串转换成小写。String toUpperCase() :将字符串转换成大写。String s = abc ;String str1 = s.trim();/str1的的值值“ “abc”String s = abcABC;String str1 = s.toLowerCase();/str1的的值值“ “abcabc”String str2 = s.toUpperCase();/str2的的值为值为“ “ABCABC”第九页,共五十六页。10StringBuffer类字符串类字符串v 构造函数构造函数 StringBuffer():构造一个没有(mi yu)任何字符的字符串对象。 StringBuffer(int length):构造一个长度为length的字符串对象。 StringBuffer(String str):以str为初始值构造一个StringBuffer类对象。第十页,共五十六页。11StringBuffer类字符串类字符串v常用方法常用方法 public StringBuffer append(String b) :是向字符串缓冲区“追加”元素,而且这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数、对象类型、字符串和StringBuffer类等。如果添加的字符超出(choch)了字符串缓冲区的长度,Java将自动进行扩充。 String s1 = This is a pencil; String s2 = box; StringBuffer sb = new StringBuffer(s1); System.out.println(sb.append(s2); / 结结果果(ji gu)为为: :This is a pencilbox第十一页,共五十六页。Java面向对象软件开发12StringBuffer类字符串类字符串public StringBuffer insert(int offset, double d) :在当前StringBuffer对象中插入一个元素,第一个参数offset表示插入位置,第二个参数d表要插入的数据,这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数、对象类型、字符串等。public StringBuffer delete(int start, int end) :删除当前StringBuffer对象中以索引号start开始(kish)到end结束的子串,但不会删除end处的字符。 StringBuffer sb=new StringBuffer(I am a student!); System.out.println(sb.insert(7,good );/输输出出(shch)结结果果为为: :I am a good student!StringBuffer sb=new StringBuffer(I am a student);System.out.println(sb.delete(0,7); / 输输出出(shch)结结果果为为: :student第十二页,共五十六页。13StringBuffer类字符串类字符串public StringBuffer deleteCharAt(int index) :删除指定位置的单个字符。public StringBuffer replace(int start, int end, String str) :替换当前StringBuffer对象的字符串。从start开始,到end结束的位置替换成str。public StringBuffer reverse():将字符串翻转。public String toString():将StringBuffer中的内容放入一个String对象中返回出来,我们可以利用这个方法(fngf)实现StringBuffer到String的转化。StringBuffer sb=new StringBuffer(too);System.out.println(sb.deleteCharAt(2); / 输输出出(shch)结结果果为为: :to StringBuffer sb=new StringBuffer(I am a student.); System.out.println(sb.replace(7,14, teacher);/ 输输出出(shch)结结果果为为: :I am a teacher StringBuffer sb = new StringBuffer(0123456789); System.out.println(sb.reverse(); / 输输出出结结果果为为: : 9876543210 StringBuffer sb = new StringBuffer(0123456789);String str = sb.toString();/str的的值为值为“ “0123456789”第十三页,共五十六页。14练习练习(linx)v 1、定义一个字符串str,其值为“重庆正大软件(run jin)职业技术学院”v 2、求字符串str长度v 3、求正在str中的位置第十四页,共五十六页。15数据类型类数据类型类 v 对应于Java中的基本数据类型(long,int,short,byte,float,double,char,boolean都有一个对应的数据类型类,封装了对对应基本数据类型操作(cozu)的一些方法 v 数据类型类与基本数据类型对照表数据类型类与基本数据类型对照表 第十五页,共五十六页。16Integer类类v 静态域静态域 MAX_VALUE:通过类名可直接(zhji)引用,得到该类型数据可以容纳的最大值。 MIN_VALUE:通过类名可直接引用,得到该类型数据可以容纳的最小值。 TYPE:通过类名可直接引用,得到该类对应的基本数据类型关键字。System.out.println(Integer类类可以容可以容纳纳(rngn)的最大的最大值值: : + Integer.MAX_VALUE ); System.out.println(Integer类对应类对应的基本数据的基本数据类类型:型:Integer.TYPE);第十六页,共五十六页。17Integer类类v 构造函数构造函数 Integer(int value):通过一个:通过一个int类型类型(lixng)数据构造对象。数据构造对象。 Integer(String s):通过一个:通过一个String的类型数据构造对象。的类型数据构造对象。 Integer x = new Integer (123); /生成了一个生成了一个(y )值为值为123的的Integer对对象。象。Integer y = new Integer(1234); /生成了一个生成了一个值为值为1234的的Integer对对象。象。第十七页,共五十六页。18Integer类类v常用方法常用方法public int intValue():返回该整数对象的数值 public static int parseInt (String s):将数字字符串转化(zhunhu)为int数。public static Integer valueOf(String s):将字符串转换成Integer数。public String toString():将Integer对象转化为字符串。public static String toString(int d):将整型参数转化为字符串。 Integer x = new Integer (123); /生成了一个生成了一个(y )值为值为123的的Integer对对象。象。int y = x.intValue(); /y的的值为值为123。 。int x = Integer.parseInt (1234); /将字符串将字符串1234转变转变(zhunbin)为为int型返回。型返回。int a=Integer.parseInt(123);int b=Integer.valueOf(678).intValue();long c=Long.parseLong(12345678);long d=Long.valueOf(12345678).longValue();float e=Float.parseFloat(123.456);float f=Float.valueOf(123.456).floatValue();第十八页,共五十六页。19【例例4-1】编写程序演示编写程序演示(ynsh)数据类型类的使数据类型类的使用。用。public class DataTypeTest public static void main(String args) Integer x = new Integer(123456); int y = x.intValue(); System.out.println(y= + y); String str = Integer.toString(1000 + 2000); System.out.println(str= + str); / 显显示示对应对应(duyng)的的类类型型 System.out.println(“Integer类类 数据类型是数据类型是: + Integer.TYPE); / 显显示整型的最大示整型的最大值值 System.out.println(Integer类的最大值类的最大值: + Integer.MAX_VALUE); / 显显示整型的最小示整型的最小值值 System.out.println(Integer类的最小值类的最小值: + Integer.MIN_VALUE); 执行执行(zhxng)结果:结果:y=123456str=3000Integer类对应类对应的数据的数据类类型是型是:intInteger类类的最大的最大值值:2147483647Integer类类的最小的最小值值:-2147483648第十九页,共五十六页。20 数学数学(shxu)(Math)类)类 v数学函数类Math类提供了常用的数学运算方法以及Math.PI和Math.E两个数学常量。该类是最终类(final class),不能被继承,类中的方法和属性全部是静态成员,因此,只能使用Math类的方法而不能对其作任何更改。 v 这个(zh ge)类有两个静态属性:E和PI属性。E代表数学中的自然对数(e),值为2.7182818,而PI代表派圆周率(),值为3.1415926。由于其是公有静态属性,所以使用时不用创建对象而是直接用Math.E 和 Math.PI进行调用。第二十页,共五十六页。21Math类的主要类的主要(zhyo)方法方法 第二十一页,共五十六页。22【例例4-2】Math类主要方法类主要方法(fngf)的举例。的举例。public class MathTest public static void main(String args) System.out.println(PI= + Math.PI);System.out.println(E= + Math.E);System.out.println(abs(-10.6)= + Math.abs(-10.6);System.out.println(ceil(8.2)= + Math.ceil(8.2);System.out.println(floor(5.7)= + Math.floor(5.7);System.out.println(round(7.8)= + Math.round(7.8);System.out.println(max(10,20)= + Math.max(10, 20);System.out.println(min(10,20)= + Math.min(10, 20);System.out.println(sqrt(64)= + Math.sqrt(64);System.out.println(exp(2)= + Math.exp(2);System.out.println(log(e)= + Math.log(Math.E);System.out.println(pow(3,2)= + Math.pow(3, 2);System.out.println(sin(30)= + Math.sin(Math.toRadians(30); 执行执行(zhxng)结果:结果:PI=3.141592653589793E=2.718281828459045abs(-10.6)=10.6ceil(8.2)=9.0floor(5.7)=5.0round(7.8)=8max(10,20)=20min(10,20)=10sqrt(64)=8.0exp(2)=7.38905609893065log(e)=1.0pow(3,2)=9.0sin(30)=0.49999999999999994第二十二页,共五十六页。23 随机数处理随机数处理(chl)(Random)类)类 v 简单产生一个小于1的随机数我们可以采用上面Math类中封装的random()方法。直接调用Math.random()就能返回(fnhu)一个随机数,每次调用返回(fnhu)的数字不会相同。若要产生a,b之间的随机数其通式为:(b-a+1)*Math.random()+a。第二十三页,共五十六页。24随机数处理随机数处理(chl)(Random)类)类v构造函数构造函数Random():创建一个新的随机数发生器。Random(long seed):用一个种子(长整型)创建一个随机数发生器。所谓种子是生成随机数算法(sun f)的起源数字,如果用相同的种子创建Random对象,生成的随机数序列是完全一样的。第二十四页,共五十六页。25随机数处理随机数处理(chl)(Random)类)类v常用方法常用方法public boolean nextBoolean():返回下一个从随机发生器的系列中得到的均匀分布的布尔值,相当于抛硬币,不是正面就是反面,因此这个方法返回true或者false。public double nextDouble():该方法的作用是生成(shn chn)一个随机的double值,数值介于0,1.0)之间。public int nextInt():生成int范围内的任意int数值。如果要获得某个区间的整数,可以参看下面的方法。int nextInt(int n):返回0,n)之间的整型值。也就是0到n之间的随机int值,包含0而不包含n。例如生成例如生成50100之间的随机数如下之间的随机数如下(rxi)代码:代码:Random r = new Random();Int x = 50+r.nextInt(50);第二十五页,共五十六页。26任务任务(rn wu)实现实现1、分析该任务获知是对字符串的处理,分隔字符串,我们可以采用String类中的String split(String str)方法进行分隔。由于是多种分隔符,我们采用java.util包中的StringTokenizer类进行处理。2、查询API获知StringTokenizer的构造方法,并用带参构造方法创建一个对象,其参数是被分析的字符串和分隔符字符串。3、利用StringTokenizer类中hasMoreTokens()判断(pndun)是否还有下一个被分隔的子串,并用nextTokens()获得下一个被分隔的子串,最后将该子串打印出来。第二十六页,共五十六页。27任务任务(rn wu)实现实现123引入输入输出类所需要引入输入输出类所需要(xyo)的包的包 用用String类定义类定义(dngy)一个字符串对象一个字符串对象str,并,并赋值赋值 用用StringTokenizer类为类为str构造一个字符串分析构造一个字符串分析器器str1;4用用StringTokenizer的常用方法求子串,统计的常用方法求子串,统计个数;个数; 第二十七页,共五十六页。28驱动驱动(q dn)任务任务二二 创建一个学生类Student,其属性有学号sNo、姓名(xngmng)sName和性别sSex;再声明三个学生对象并赋值,然后用Set集合来实现对学生对象数据的存储,再从集合中获得这三个对象,并输出相应学生信息。第二十八页,共五十六页。29目标目标(mbio)及知识点及知识点Set接口接口 2HashSet 3Java集合框架体系集合框架体系 1 1第二十九页,共五十六页。30集合集合(jh)框架概述框架概述 v Java的实用工具类库java.util包中,提供了一些数据容器类,按照线性表、链表、堆栈、哈希表等数据结构来组织和操作其中的数据。一个集合(collection)就是一个存储一组对象的容器,一般将这些对象称为集合的元素(element)。Java集合构架(u ji)支持三种类型集合:规则集(Set)、线性表(List)和图(Map),它们分别定义在接口Set、List和Map中。 第三十页,共五十六页。31集合框架集合框架(kun ji)概述概述vSet(集):集合中的对象(duxing)不按特定方式排序(它的有些实现类能对集合中的对象(duxing)按特定方式排序),并且没有重复对象(duxing)。v List(列表):集合中的对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索对象。List与数组有些相似。v Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复 第三十一页,共五十六页。32v Java集合框架中接口(ji ku)的继承关系图集合框架集合框架(kun ji)概述概述 第三十二页,共五十六页。33规则规则(guz)集集Set和它的常用实现类和它的常用实现类 v Collection接口(ji ku)是构造集合框架的基础,没有直接的实现类。Collection声明了所有集合都有的核心方法 Collection不提供不提供get()方法。如果要遍方法。如果要遍历历Collection中的元素,就必中的元素,就必须须(bx)用用Iterator。 。Collection 接口的接口的iterator()方法返回一个指向集合的迭代器方法返回一个指向集合的迭代器Iterator。 。Iterator接口提供接口提供next()方法(返回迭代的下一个元素。)和方法(返回迭代的下一个元素。)和hasNext()方法(判断迭代探子是否方法(判断迭代探子是否还还有有元素)。使用集合框架元素)。使用集合框架时时需要需要频频繁使用迭代器。繁使用迭代器。第三十三页,共五十六页。34Set接口接口(ji ku)v Set接口继承于Collection接口,其特点是它不允许(ynx)集合中存在重复项。常用的Set接口实现类有HashSet和LinkedHashSet 既然既然Set接口继承于接口继承于Collection接口,那么接口,那么(n me)Collection接口中的接口中的方法在方法在Set接口中同样可以使用接口中同样可以使用 第三十四页,共五十六页。35散列集散列集HashSetv HashSet类是一个实现Set接口(ji ku)的具体类,可以用来存储互不相同的元素,注意,相同的元素存到一个HashSet对象中。它不保证数据在容器中的存放顺序,不保证顺序恒久不变,元素是没有顺序的,HashSet类允许存null元素。第三十五页,共五十六页。36【例例4-3】演示演示(ynsh)HashSet容器的容器的使用。使用。 import java.util.*; /Set接口及其接口及其实现类实现类均在均在这这个包中个包中public class HashSetTest /* * 测试测试HashSet类类存存储储元素及存元素及存储顺储顺序序 */public static void main(String args) Set s = new HashSet();s.add(I);s.add(am);s.add(a);s.add(student);s.add(a); / 测试测试能否添加重复元素能否添加重复元素 System.out.print(排序排序结结果:果:); / 使用使用(shyng)迭代器遍迭代器遍历历集合中的每一个元素集合中的每一个元素Iterator it = s.iterator();while (it.hasNext() /如果如果HashSet对对象中迭代器指向象中迭代器指向 的数据下一个的数据下一个还还存在的存在的话话System.out.print(it.next() + );/获获得得该该数据数据执行结果执行结果(ji gu):排序结果:排序结果:student am a I HashSet中不能存入两个一中不能存入两个一样样的数据,另外它的存的数据,另外它的存储储数据数据结结构不保构不保证证按按顺顺序存序存储储数据。数据。Set s = new LinkedHashSet();执行结果:执行结果:排序结果:排序结果: I am a student Set s = TreeSet();执行结果:执行结果:排序结果:排序结果: I am a student 第三十六页,共五十六页。37任务任务(rn wu)实现实现123引入引入java.util包中的相关包中的相关(xinggun)类。类。创建学生类创建学生类Student,并为其定义,并为其定义(dngy)一个构一个构造函数,进行参数传递造函数,进行参数传递 定义测试类定义测试类Test,在主函数,在主函数main()中声明中声明3个学生个学生对象对象s1,s2,s3,并赋值并赋值 45然后声明一个然后声明一个HashSet对象对象hs 为为hs对象依次添加对象依次添加3个学生对象个学生对象s1,s2,s3。4使用迭代器遍历集合中的每一个元素使用迭代器遍历集合中的每一个元素 第三十七页,共五十六页。38驱动驱动(q dn)任务任务三三 创建一个学生类Student,其属性有学号sNo、姓名sName和性别(xngbi)sSex;用其声明三个学生对象并赋值,然后用List集合来实现对学生对象数据的存储,再从其中将学生对象获取出来,并打印输出学生信息。第三十八页,共五十六页。39目标目标(mbio)及知识点及知识点List接口及接口及实现实现它的它的LinkedList 2Vector对对象的使用象的使用 3List接口及接口及实现实现它的它的ArrayList1 1栈栈Stack的使用的使用 4第三十九页,共五十六页。40 List 接口接口(ji ku)第四十页,共五十六页。41线性存储线性存储(cn ch)结构结构 v 一种或多种特定(tdng)关系的数据元素的集合在计算机中的表示称为数据的存储结构。其中线性表是一种典型的线性结构,是具有相同属性的数据元素的一个有限序列。v 性表的顺序存储是用一组连续的存储单元依次存储线性表中的数据元素,线性表采用顺序存储的方式称之为顺序表。 v 顺序表不仅支持重复元素的存储,而且支持位置存储元素,即用户可以指定操作对应位置的元素。v 常见的线性结构有:顺序表、链表、栈、向量和队列等。 第四十一页,共五十六页。42顺序顺序(shnx)表与链表:表与链表: v 顺序表是线性表的“顺序存储”,数据元素依次存储依次存储在一组连续连续的存储单元里 v 而链表是线性表的“链式存储”,数据元素不一定存储在一组连续的存储单元里,通过“链条”连接相邻的元素,能很方便(fngbin)地完成元素的插入和删除工作 第四十二页,共五十六页。43栈(栈(Stack) v 是限定仅在表尾进行插入或删除操作的线性表 v 对栈来说,表尾端有其特殊含义,称为栈顶,相应的表头称为栈底 v 栈的数据(shj)操作只能在栈顶进行,数据(shj)的进栈(压入)和出栈(弹出)操作都在栈顶进行,也就是先进栈的元素后出栈,栈又称为“后进先出”的线性表 第四十三页,共五十六页。44向量向量(xingling)(Vector) v 可以实现(shxin)长度可变的数组,但是Vector中只能存放对象。与数组一样,它包含可以使用整数索引进行访问的组件。第四十四页,共五十六页。45队列队列(duli)(Queue) v 和栈相反,队列是一种“先进先出”的线性表 v 它只允许在表的一端进行插入(ch r)(入队列),在另一端进行删除(出队列)。允许插入的一端叫做队尾,允许删除的一端叫做对头 第四十五页,共五十六页。46ArrayList与LinkedListv ArrayList ArrayList是一个实现是一个实现(shxin)List接口的能自动增长容量的动接口的能自动增长容量的动态数组,实际是采用对象数组实现的态数组,实际是采用对象数组实现的 第四十六页,共五十六页。47【例例4-4】演示演示ArrayList类的常用方法类的常用方法(fngf)使用使用 import java.util.ArrayList;import java.util.List;public class ArrayListTestpublic static void main(String args) List list = new ArrayList(); / 添加添加对对象元素到数象元素到数组组列表中列表中 list.add(new Integer(11); list.add(new Integer(12); list.add(new Integer(13); list.add(null); list.add(new String(hello); System.out.println(数数组组元素元素为为: :); / 使用迭代器遍使用迭代器遍历历集合中的每一个元素集合中的每一个元素 Iterator it = list.iterator(); while(it.hasNext() System.out.println(“a” + i + “ = ” + it.next();/获获取取 ArarryList对对象中存放的数据,注意象中存放的数据,注意获获得得(hud)的是的是Object类类型型的的 执行结果执行结果(ji gu):数组元素为:数组元素为:a0 = 11a1 = 12a2 = 13a3 = nulla4 = helloLinkedList()() 执行结果一样执行结果一样第四十七页,共五十六页。48向量向量(xingling)类类Vector v Vector和ArrayList一样(yyng)是List接口的实现类,它也是用来存放数据的容器 v 常用属性: capacity:集合最多能容纳的元素个数。 capacityIncrement:表示每次增加多少容量。 size:表示集合当前元素个数。第四十八页,共五十六页。49向量向量(xingling)类类Vectorv 常用方法(fngf): void addElement(Object obj):添加元素到末尾。 void add(int index, Object element):指定索引位置添加元素。 Object elementAt(int index):取指定索引位置元素。 void insertElementAt(Object obj, int index):将元素插入到指定索引位置。第四十九页,共五十六页。50【例例4-5】演示演示Vector类的常用类的常用(chn yn)方法。方法。 import java.util.Vector;public class Demo public static void main(String args) Vector v = new Vector();v.add(I );v.add(like );v.add(Java );v.add(very much!);for(int i=0;iv.size();i+) System.out.println(v.get(i); / 获获取指定索引取指定索引(suyn)处处的元素的元素执行执行(zhxng)结果:结果:I like Java very much!第五十页,共五十六页。51栈栈Stack v 堆栈(Stack)是Vector的一个子类,它实现了标准的“后进先出”操作的数据结构。Stack只定义了默认的创建空堆栈的构造方法。向堆栈输入数据的操作称为“压栈”,删除堆栈顶端的数据称为“出栈”,Stack类是作为(zuwi)Vector类的扩展实现的。第五十一页,共五十六页。52栈栈Stackv 常用方法: Object push(Object item):实现堆栈顶部的压栈操作。 Object pop():实现堆栈顶部的数据出栈。 Object peek():用于返回栈的顶层而不弹出。 int search(Object data):用于获取数据在堆栈中的位置(wi zhi),最顶端的位置(wi zhi)是1,向下依次增加,若堆栈不含此数据,则返回1。 boolean isEmpty(): 判断栈是否为空,若为空栈则返回true,否则返回false。第五十二页,共五十六页。53【例例4-6】v 编写程序演示(ynsh)Stack类“后进先出”特点,将1到10入栈,然后再出栈 import java.util.Stack;/引入引入java.util包中的包中的Stack类类public class StackTest public static void main(String args) Stack s = new Stack();/ 声明一个堆声明一个堆栈栈(duzhn)类对类对象象sSystem.out.print(栈栈的入的入栈顺栈顺序序为为: :);for (int i = 1; i = 10; i+) / 入入栈栈操作操作Sy