IT十八掌掌第十天课程总结

今天学完IT十八掌第十天java基础课程:

学习内容:

基本类型

---------------

包装类

int        Integer

byte    Byte

short    Short

long    Long

float    Float

double    Double

boolean    Boolean

char    Character                //字符类

JDK 1.5之后出现的新特性,

自动装箱: Integer i = 12 ;        //=== Integer i = new Integer(12);

自动拆箱: Integer i = 12 ; i ++    //=== i.parseInt() = 12; ++

注意:当Integer i = null的时候,如果进行自动拆箱操作就会报NullPointerException异常。

包装类和基本类型区别

----------------------

1.包装类是对象,默认值是null。

2.数字型的基本数据类型是0.

3.基本数据类型可以直接参与运算。

集合:

---------------------------------------------------

存储对象的容器,

|-------Collection    集合接口

|----List    有序,可以重复,带索引

|---Vector    线程安全,底层采用数组,默认分配为2倍

|---ArrayList    非线程安全,使用同Vector,查询快,增删较慢。默认分配1.5倍空间

|---LinkedList    非线程安全,查询较慢,增删快

|----set

|---HashSet    非线程安全,底层采用的是HashMap。通过哈希函数将这些元素正确地分布在桶中,允许使用Null

|---TreeSet      非线程安全,底层采用的是二叉树

|-------Map

|--HashTable    线程安全,<K , V>

|--HashMap    非线程安全,<K , V>的,通过keySet()获得Key的set,使用get(key)调用,也可以通过entrySet()获得映射关系的Entry类对象,使用getKey(),getValue调用。

|--TreeMap

List : 列表,接口 ArrayList()

[]数组

---------------------

length        //长度属性

String

---------------------

length()    //方法.

equals    //重写了Object类中的equals方法,只要两个字符串类对象的内容相同,equals就返回true,

//而原来的Object类中equasl方法只有在两个对象是同一个对象时才会返回true;

interface Collection

------------------------

size()        //方法

isEmpty()    // ==null ?

判断集合有效性

col != null && col.isEmpty()

contains(Object obj)    //判断是否包含指定的对象

List    //有序,可重复

Set        //无序,不重复

Map        //key-value

instanceof

-----------------

运算符,判断变量是否是指定类型的对象。

boolean b = obj instanceof String ;

this.getClass( ) == Student.class

/**

* 创建集合,存放String[tom,tomas,tomsLee]

*             存放Integer[100,200,300]

*             存放Student{name,sex,age,标准javabean}[tom,tomas,tomsLee]

*

*/

Arraylist    //数组列表,对数组的包装,通过下标值访问。

LinkedList    //链表,

遇到的问题:

  1.旧版eclipse中编写基本数据类型自动装箱拆箱时,报错。原因是eclipse版本过低,jdk版本过低。下载最新的eclipse后,问题解决。

  2.集合中内部比较繁琐,很容易混淆



需要帮助的问题


理清集合的关系

时间: 2024-08-19 18:18:16

IT十八掌掌第十天课程总结的相关文章

IT十八掌掌第七天课程总结

今天学完IT十八掌第七天java基础课程: 学习内容: 1,复习多态,抽象类与接口异同,适配器模式 2,匿名内部类 new InterfaceDemo(){具体方法实现 }; 3,异常 -------------------------------- Throwable |---Error |---Exception 举例:RuntimeException运行时异常 getMessage() toString()方法 printStackTrace() 打印栈跟踪信息; 举例: throws  

IT十八掌掌第四天课程总结

今天学完IT十八掌第四天java基础课程: 学习内容: java基本数据类型: ----------------------- byte    :    一个字节,-128 ~ 127  = 256 short    :    两个字节, -32768 ~ 32767 int        :    四个字节, long    :    八个字节, float    :    4字节 double    :    8字节 boolean    :    1个字节 char    :    2个字

IT十八掌掌第五天课程总结

今天学完IT十八掌第五天java基础课程: 学习内容: 1,jvm栈空间设置 堆空间设置:    java -Xmx<size> java -Xms<size> 栈空间设置: java -Xss<size> 死循环不会导致栈溢出,因为在不断的压栈,弹栈 方法不断迭代会导致栈溢出,不断的在压栈(方法帧) 2,继承 构造函数: 为什么没有返回值. 因为构造函数就是为了返回对象的,固定了,所以没必要定义返回值类型. 代码块 ----------------------- 构造

IT十八掌掌第十三天课程总结

今天学完IT十八掌第十三天java基础课程: 学习内容: HashMap HashSet entrySet() |--getKey( ) |--getValue( ) keySet() |--get(Key) ---------- 有无缓冲区性能评测 缓冲区的原理是先将字符写入数组,然后在批量写入文件,避免对物理文件的频繁访问,提高效率. 行分割符在java中可以通过方法得到. 系统属性名是line.separator. 不同平台的行分隔符是不同的. windows7:\r\n macOS  

IT十八掌掌第十四天课程总结

今天学完IT十八掌第十四天java基础课程: 学习内容: BufferedOutputStream:缓冲区字节输出流 --------------------------------- 1.Object --> OutputStream --> FilterOutputStreasm --> BufferedOutputStreamss 2.使用装饰模式 3.close() BufferedInputStream : 缓冲区字节输入流 --------------------------

IT十八掌掌第十五天课程总结

今天学完IT十八掌第十五天java基础课程: 学习内容: 1.文件夹复制 --------------- 1.分析 srcFolder + destFolder d:/a        d:/b d:/b/a/xxx 2.递归取出所有文件和目录 + FileIO(FileInputStream/FileOuputStream) 3. 4. d:/xxx/x/  a/a1/a.txt        d:/b/ 9     10 d:/xxx/xx/a/a1/a2/b.txt            

IT十八掌掌第十六天课程总结

今天学完IT十八掌第十六天java基础课程: 学习内容: 序列化 ---------------- 将对象用于网络间传输或者本次化存储. 也叫串行化 过程将java对象转换成byte[] java.io.Serializable    //可串行化接口,标识性.JVM. 串行化版本UID :            // 深度复制是指将整个对象图进行复制. transient :                //临时关键字. ObjectInputStream / ObjectOuputStre

IT十八掌掌第十七天课程总结

今天学完IT十八掌第十七天java基础课程: 学习内容: 多线程主要应用场景是创建灵活响应的桌面程序. Socket : ---------------------- 1.ServerSocket                //侦听 ServerSocket ss = new ServerSocket(port);    //0-1023 Socket socket = ss.accept();                // 服务器 ----------------- 1.接收sock

IT十八掌掌第十二天课程总结

今天学完IT十八掌第十二天java基础课程: 学习内容: HashMap和HashTable底层都是采用数组+链表实现的. 结合了数组的寻址快,链表增删快的特点.使用散列算法(hash算法)将元素分配到数组的元素当中, hash分区默认16个,每个分区内存储的是链表 1,算出hashcode,进行&0xof取出后四位初步比较,确定分区 2,然后拿对象和链表中每个对象相比较,比较每个对象的hash码是否相同. 1. 判断hashcode是否相同 2.判断是否同一对象或者equals返回true 所