今天学完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.集合中内部比较繁琐,很容易混淆
需要帮助的问题
理清集合的关系