zoukankan      html  css  js  c++  java
  • 20165101刘天野 2017-2018-2 《Java程序设计》第6周学习总结

    20165101刘天野 2017-2018-2 《Java程序设计》第6周学习总结


    教材学习内容总结

    第八章:常用实用类

    String类:不可变类,一些看起来能够改变String的方法其实都是创建了一个带有方法所赋予特性的新String。StringBuffer类为字符串缓冲类,可变。

    String类覆盖了Object类的equals()方法,而StringBuffer没有。String类的toString()方法是返回当前String实例本身的引用,而StringBuffer类的toString()方法返回的则是当前缓冲区中所有字符内容的新的String对象的引用。使用StringBuffer可以减少JVM创建String对象的次数,减少动态分配和回收内存的次数,提高程序的性能。

    Scanner类:获取用户的输入

    Math类:数学运算类

    Random类:生成随机数

    Data类:以毫秒数表示特定的日期。sysout(new Date()) 返回系统日期

    DataFormat类:用于定制日期的格式。

    Calendar类:设置和读取日期的其中一部分。

    BigDecimal类:精准计算

    第十五章:泛型与集合框架

    一、集合框架

    1、集合类的出现:面向对象语言对事物的体现的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

    2、数组与集合的异同:数组和集合同是容器,数组既能存储基本数据类型,也能存储对象,集合只能存储对象,数组的长度是固定的,集合的长度是可变的,数组内存储的对象类型在创建时就已经确定了,而集合可以存储多种不同类对象。

    3、集合类中有众多的子类对象,它们作为容器对数据的存储方式都不同,这种方式叫做数据结构。

    二、Collection

    Collection是集合的根接口,其中定义了集合这一体系的共性功能,在集合中存储的都是对象的引用,既地址。

    1、增加:往集合中加入元素的方法有add、addAll,其中add方法的参数类型是object,以便于接收任意类型的对象,addAll方法的参数类型是集合,用于将集合中的元素全部加入到指定集合中,这两种方法的返回值类型均为boolean。

    2、删除:集合中控制删除的方法有remove、removeAll()、clear(),clear方法用于清空集合,没有具体的返回值类型,remove用于删除某个对象,removeAll用于删除集合参数内存在于调用该方法集合内的对象,这两种方法返回值类型均为boolean。

    3、判断:contains方法有两个重载函数,用于判断是否存在某个对象或者某个集合。

    4、获取:iterator方法获取迭代器用于取出集合中的元素。迭代器定义于集合内部,是一个内部类,这样就可以直接访问结合内部的元素,每一个容器的数据结构不同,所以取出的动作的细节也不同,但是都有共性的内容,判断和取出,将这么共性的内容进行抽取就形成了接口iterator。

    5、查询:size方法用于获取集合元素的个数。

    三、List

    1、List类是Collection类一个子类,是一个抽象类,它存储对象的特点是有序的,元素可以重复,我们经常使用的List子类对象是ArrayList、LinkedList、Vector。因为List集合体系是有序列的,所以List集合可以通过角标操作集合内的元素。

    四、Set

    1、Set集合不同于List集合,它的元素是无序的,且不可重复,在Set集合中没有特殊的方法,全是实现的Collection的方法。常用的两个Set类结合有HashSet、TreeSet、

    2、HashSet:底层是哈希表数据结构,线程非同步的,元素存入后按哈希值的大小存储。HashSet是保证元素唯一性依据的是hashCode和equals方法,如果元素的hashCode值一样,就会继续判断equals是否为true,如果hashCode值不同,不会调用equals方法。同样的在进行remove和contains方法时,会调用hashCode方法,如果没有相同的hashCode值,则不存在,如果有相同的hashCode值,会判断equals是否为true。

    3、TreeSet:TreeSet集合的底层数据结构是二叉树,特点是可以对Set集合中的元素进行排序,进行排序的依据是存入的对象必须具有比较性,因此需要实现comparable,该接口可以强制让实现该接口的对象具有比较性,保证元素唯一性的依据是compareTo方法的返回值是0,TreeSet实现排序的方式有两种,一是实现comparable接口,覆盖compareTo方法,让元素自身具备比较性,这种方式也称为元素的自然顺序,或者叫默认顺序,第二种方式是当元素自身不具备比较性或者具备的比较性不是我们所需要的,那么我们就让集合自身具备比较性,定义一个比较器作为参数传递给集合的构造函数,这样集合在初始化时就具备了比较性。当两种排序都存在时,以比较器为主。

    五、Map

    1、Map集合中存储的是键值对,一对一对的往里存,并且要保证键值的唯一性。

    2、Map集合的方法:

    (1)增加:put(K key,V value)该方法会返回key值之前对应的value值。putAll方法则是将另一个Map集合中的键值对存储到指定集合中。
    
    (2)删除:remove(K key)该方法在删除键的同时会同时返回对应的值。clear方法清空Map集合。
    
    (3)判断:containsKey和containsValue方法分别判断指定Map集合中是否有对应的键值。
    
    (4)查询:get(K  key)获取该键对应的值,values方法获取存储有所有值的collection集合,size方法获取Map集合的键值对个数。
    
    (5)获取:主要有两种方法,keySet方法和entrySet,取出的原理就是将Map集合转成Set集合在遍历迭代器取出。
    

    3、Map集合的常用子类对象:HashTable、HashMap、TreeMap,HashTable的底层数据结构是哈希表数据结构,不可以存入null键和null值,线程是同步的,HashMap的底层数据结构也是哈希表数据结构,它可以存入null键和null值,线程是非同步的,TreeMap的底层数据结构是二叉树,线程是非同步的,可以给Map集合中的键进行排序。我们可以通过get方法的返回值来判断一个键是否存在,如果返回值为null,则不存在该键。

    代码托管

  • 相关阅读:
    Android实例-Delphi在运行时更改Android屏幕旋转(IOS也支持,不过我可没有苹果机,测试不了)
    delphi实现电脑屏幕旋转(电脑屏幕,不是手机屏幕)
    教程-关于escape和URI之间的不同!
    在Delphi中URLEncode文件名的最佳方法是什么?
    Delphi实现js中的escape()编码和unescape()解码
    面向对象: 接口与对象生存周期,接口自动释放
    问题-Delphi在做窗体派生时提示Resource TForm2 not found
    问题-delphi idTCPserver-Socket error问题详解
    delphi 求两个时间差
    Delphi 解决StrToDateTime()不是有效日期类型的问题
  • 原文地址:https://www.cnblogs.com/lty12345678911/p/8749049.html
Copyright © 2011-2022 走看看