java 中常用的方法总结_第1页
java 中常用的方法总结_第2页
java 中常用的方法总结_第3页
java 中常用的方法总结_第4页
java 中常用的方法总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8月1日练习:合理覆盖Cat数据类型的,equals()方法Cat.java覆盖hashCode()返回的整型值是唯一的inthashCode()用法:一般使用String提供hashCode的编码+基本数据类型hashCode生成原则:1当对象内容一致时,生成的hashCode必须是一样的2当对象内容不致时,生成的hashCode必须是唯一的HashtableTest1.javahashtable中的key如果是自定义数据类型,那么它必须覆盖equals()和hashCode()//考试hashCode()ArrayList*Hashtable*2其他的存储方式:LinkedList //特点:可以删除指定位置数据练习:向LinkedList添加:ABCD打印出时为:DCBALinkedListTest.java练习(MyQueueTest.java):模拟一个队伍(队列),去买票一个动作思路:1模拟一个队列(add)模拟出列(removeXXXX)//先买票的人,先出队列——先入先出队伍是一个特殊数据结构,特点:FIFO(先入先出)HashSet //不允许重复元素集合框架类的特点:Collection接口是一组允许重复的对象Set接口继承Collection,但不允许重复使用自己内部的一个排列机制List接口继承Collection,允许重复,以元素安插的次序来放置元素,不会重新排列。Map接口是一组成对的键 值对象,即所持有的是key—valuepairs。Map中不能有重复的key。拥有自己内部机制。5在集合框架类中有两大类接口:CollectionMap注意:集合框架类一一容器,容器中存储引用数据类型继承关系:接口实现历史集合类型SetHashSetTreeSetListArrayListVectorLinkedListStackMapHashMapHashtableTreeMapProperties集合框架类解决的问题?1变长数组2操作的效率。集合框架类的特点:VectorArrayList*Hashtable*HashSetProperties集合框架类的使用:1声明privateVectorvec;2构造中实例化vec=newvector();3向容器中添加数据:vec.add();练习:FILOTest.java第一个进来,最后一个出去FILO——栈练习:将Student类作为Hashtable的keyStudentHashStudentStudentHash(主类)StudentHash.java8月2日练习:使用HashMap进行数据的存储,与遍历.keySet()//返回key的集合(Set).values()//返回value的列表(ArrayList)HashMapTest.javaHashMap与Hashtable的区别:Hashtable是非同步的(效率高)HashMap是同步的(效率低)获得系统java的相关的环境变量:System.getProperties(); //可以返回Properties数据类型(是Map的子类),内容为系统的全部环境变量练习:打印输出系统中全部的环境变量://2了解Properties,还可以与文件系统交互PropertiesTest.java思路:1Propertiesp=System....2遍历p复习:java.lang:String特点常用构造:String(byte[]bytes)//将byte型数组转换为字符串String(char[]ch)〃将char型数组转换为字符串String(char[]value,intoffset,intcount)〃将char[]转换为字符串,offset从那里开始(0)//count(char.length)个数常用方法:charcharAt(intindex)Stringstr="ABC”;Charch=str.charAt(0);ch==A;Stringconcat(Stringstr) 〃连接字符串=="+”号booleanequalsIgnoreCase(StringanotherString) //忽略大小写比较byte[]getBytes()//将字符串处理为byte[]intindexOf(Stringstr)//判断字符串所在的索引位置,如果描述的字符串不存在,返回值为-1intlastIndexOf(Stringstr) //字符串所在的最后一个索引位置,如果描述的字符串不存在,返回值为-1intlength() //返回字符串的长度Stringreplace(charoldChar,charnewChar)//字符串替换booleanstartsWith(Stringprefix)//判断字符串的开头,是否有匹配的字符串booleanendsWitn(Stringprerfix) //判断字符串的结尾,是否有匹配的字符串Stringsubstring(intbeginIndex,intendIndex)//字符串的截取char[]toCharArray()//将字符串处理为char[]StringtoLowerCase() //将字符串处理为小写StringtoUpperCase() //将字符串处理为大写Stringtrim() 〃除去字符串左右两边的空格StringBuffer //初始化的容量16构造:StringBuffer() //初始化容量16StringBuffer(10)//初始化容量10StringBuffer(Stringstr)方法:StringBufferappend(floatf)//向StirngBuffer添加内容intcapacity() //返回容量intlength() //返回StringBufferInt实际存储长度StringBuilde(效率高)==StringBuffer基本数据类型的包装包:Byteb=newByte();IntIntegercharCharacterinta=Integer.parseInt(“11”);System常用的方法:System.gc();System.exit(0); //退出java程序,0代表正常退出,非0代表异常退出System.arraycopy() //数组的拷贝System.currentTimeMillis() 〃系统毫秒(1970)System.getProperties() //系统环境变量Math算术类:Math.abs()//绝对值maxminrandom//1.0 0.0的随机值round 〃四舍五入Runtime//获得系统运行环境,通常用于java调用//第三方应用程序(.exe).exec("”)java.utilDate 〃获得系统时间,不考虑时区构造:Date() //获得系统时间Date(longdate) //根据用户传入的系统毫秒获取时间方法:toString()格式化日期:

java.text.SimpleDateFormat构造:SimpleDateFormat(Stringstr)方法:Stringformat(date)Calendar 〃日期,可以考虑时区固定用法:Calendarcal=Calendar.getInstance();//时区TimeZonetz=TimeZone.getTimeZone(“GMT+8:00”);Calendarcal=Calendar.getInstance(tz);常用的方法://返回当前系统时区//返回当前系统时区//Calendar.静态变量intget(intfiled);Random构造:Random()方法://返回指定范围的随机数字//返回指定范围的随机数字需要可以变长的数组,可以提高效率集合框架类:一组相同元素的集合。Vector构造:初始化容量为10Vector()//初始化容量为10方法:〃向容器中存储数据〃向容器中存储数据〃向容器中存储数据〃向容器中存储数据〃为Enumeration提供容器的地址VoidaddElement(Eobj)elements()Enumeration〃应用于容器元素的遍历方法:booleanhasMoreElements() Enumeration〃应用于容器元素的遍历方法:booleanhasMoreElements() //判断指针是否还有数据EnextElement()//返回当前的元素,并且指针下移ArrayList构造:ArrayList()方法:add()iterator()Iterator:方法:booleanhasNext()//初始化容量10〃为Iterator()提供容器的地址//遍历容器中的元素//判断指针是否还有数据Enext()//返回当前的元素,并且指针下移Vector与ArrayList的区别:Vector效率低,线程同步ArrayList效率高,线程非同步Hashtable //存储数据时,通过key,value的方式成对存储〃只要知道key可以一次性操作value方法:put(key,value)〃向Hashtable容器存储数据elements() //返回Enumerationvalue的地址key() //返回Enumeration提供key的地址Eget(key) //根据表述的key一次获得valueremove(Objectkey)//根据表述的key删除valueHashtable中key是一个自定义的数据类型,那么这个自定义类型,必须合理覆盖Object;publicbooleanequals(Objectobj)publicinthashCode()HashMap(同步)LinkedList 〃链表 提供了方便的操作方法方法:addFirst()removeFirst()addLast()removeLast()继承关系:CollectionSet——不允许重复数据List 允许重复数据Collectionlist=newArrayList();//面向接口Map<k,v> 成对存储使用官方类库方法:1结合面向对象的思想1这个类的作用1.2这个类的构造1.3这个类的常用方法2一些特殊类的固定用法8月3日java.io 〃为硬盘文件的读,写提供功能File //在java中就代表磁盘上的一个文件〃它只可以访问这个文件的属性,并且它可以创建,删除文件,但是,它不可以控制文件中的内容构造:File(Stringpathname)示例:1声明Filef;2构造中初始化//f代表当前目录下的new.txtf=newFile("new,txt”);3方法:booleancreateNewFile() 〃新建一个空文件booleandelete() 〃删除这个文件练习:在当前目录下创建一个新的文件1判断这个文件是否存在1.1不存在,则创建一个新的文件1.2存在,则输出这个文件的修改时间新建项目:IO新建类:FileTest.java2输出文件产相关信息2.1这个文件的名字2.2这个文件的绝对路径I/O的基本原理:流(stream):流是指在计算机的输入输出之间运动的数据序列。是用于I/O编程的抽象概念,表示线性的,顺序的输入和输出的数据流。流分为两类:输入流:代表从外设流入计算机的数据序列:输入流:源流(sourcestream)输出流:代表从计算机流向外设的数据序列:输出流:目的流(sinkstream)在java中流的分类:主体是程序1字节流 代表传输的数据类型为byte类型,1字节InputStream//可以从磁盘中读取文件OutputStream//可以向磁盘中的文件写入内容2字符流 代表传输的数据类型为char类型,2字节Reader(输入流):可以从磁盘中读取文件Writer(输出流):可以向磁盘中的文件写入内容使用字节流:练习:ByteStream中实现文件的写入,读取使用FileOutputStream向hello.txt中写入内容“MyFirstOutput”FileOutputStream的构造:FileOutputStream(Filefile)FileOutputStream(Filefile,Booleanappend)//append参数:为true,将会以追加模式进行写操作false,将会覆盖原有文件方法:voidwrite(byte[]b)voidclose() 〃释放资源使用FileInputStream()2.1构造方法intread(byte[]b)//将读出的内容存储到byte[]中,并且返回数组的长度操作资源三大步:打开操作(读,写)关闭ByteStream.java练习:使用java实现copy指令:MyCopy要求:javaMyCopyargslargs2结果:将argsl中的内容copy到args2思路:1、 从argsl中读取内容2、 将读取的内容写入到args2书写:1、 考虑需要的属性2、 构造初始化属性3、 方法实现copyintread()//无参read方法返回byte型数据intread(byte[]b)//返回读取内容的长度8月5日字符流:charFileReader构造:FileReader(Stringfilename)//以参数中的文件名,创建输入字符流FileWriter练习:FileRW.java使用字符流实现文件的读写注:程序结构参考ByteStream字符流的特点:由于字符流在write()实现时,使用了缓冲机制,所以在write()完毕后,必须同步缓冲区。调用:flush();或者close();System.in//可以接收用户在终端的输入intread()//返回用户在程序运行过程中的键盘输入,为此输入的ascii码System.in.read();//程序会阻塞状态,只有当用户输入字符,并且按下“回车键”程序,才会继续运行ReadTest.java流链:目的:在实际开发中,提高基本的字节流或者字符流的读取效率(读写效率)和更方便的操作机制(除了char,byte,String),还可以操作其他数据类型。注意:一个程序很少只用一个流类来处理数据,通常都有使用一系列流类叫流链来处理。字节流:BufferedInputStreamBufferdeOutputStream//特点:为基本的I/O操作,提供缓存区域//提高字节流的操作效率BufferedTest.javaDataInputStreamDataOutputStream//特点:为各种基本,特殊数据类型提供操作方式DataTest.java输入流量DataSource-aFileInputStream-aBufferedInputStream--aDataInputStream-aProgram输出流量Program-aDataOutputStream-aBufferedOutputStream-aFileOutputStreamaDatasink练习:字符流版本的,MyCopyMyCharCopy.java流链:字节流的流链字符流的流链BufferedReaderBufferedWriter//提高I/O操作效率BufferedRW.javaAlt+shift+z//自动写出异常System.in.read();System.in//java中的标准输入流ReadTest.java8月6日1将对象存入到文件中(序列化存储)*ObjectSave.java手工实现步骤:将User数据类型的构造,封装,进行编写使用DataxxxStream进行读写;将User对象的数据进行拆分(setxxx,getxxx)2序列化存储实现:ObjectInputStreamObjectOutputStream〃对于对象的读和写方法:ObjectreadObject()voidwriteObject(Objectobj)注意:读或写的对象,必须实现Serializable(序列化)接口示例:〃这个对象支持了序列化存储〃可以使用readObject()IIwriteObject()方法了classUserimplementsSerializable{}ObjectSerializable.java回顾:java.io1File//特点:代表磁盘的文件,只可以访问文件的属性2流的概念:只要计算机中线性的,顺序的数据输入,输出输入流:输出流:java的角度:字节流:InputStream 〃读取内容Outp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论