复习:
1,包装器
Integer
//把字符串转换为数字
Integer.parseInt();
jdk1.5 自动装箱
Integer a = Integer.valueOf("123");
Integer a = 123;
自动拆箱 :
int b = a.intValue();
int b = 1;
Integer i = 128;
Integer o = 128;
i==o false i>-128&&i<=127
new Integer(i);
集合 :
set :
1,无序
2,不能重复
list
1,有序:添加的顺序
2,能重复
map
1,key - value
2,key 唯一
3,value 可以相同
Collection map
list set map
Collection:
add();
remove();
contains();
size();
clear();
iterator();迭代器
HashSet:
Hash表 : HashCode 不同, 保存
HashCode 同 , equals
TreeSet : 可以排序的set集合
手动制定排序规则。
Comparator<> com = new Comparator(){
int compare(o1,o2){
-1 o1 < o2
1 o1 > o2
0 o1 == o2
return 1 -1 0;
}
};
new TreeSet(com);
自然排序:
设计者,在构建项目给类(对象)指定排序规则.
1,构建类 javaBean : 只用来封装数据的类
public class Student{
private int id;
private String name;
}
2,实现Comparable<类>
3,重写compareTo方法
4,构建TreeSet对象
5,使用TreeSet对象 添加 Student对象
10.8 List : 线性方式(数组)存储.
10.8.1:ArrayList : 代表长度可变的数组。允许对元素进行快速的随机访问,但是向ArrayList中插入与删除元素的速度较慢;
10.8.2:LinkedList: 在实现中采用链表结构。对顺序访问进行了优化,向List中插入和删除元素的速度较快,随机访问速度则相对较慢。
10.8.3:Vector : 是线程安全的集合
10.8.4:集合操作实例
注意:在使用List接口的时候注意导包.需要导入的是java.util.List包。
List list =new ArrayList();
list.add("小明");
list.add("小红");
list.add("小明");
list.add("小红");
list.size();
list.remove(index);
list.remove(object);
Iterator it = list.iterator();
while(it.hashNext()){
String name = (String)(it.next());
}
list.get(index);
for(int i = 0;i<list.size();i++){
String name = list.get(i);
}
10.9: forEach 遍历 Collection集合--> 加强for循环
for(String s : set){
syso(s);
}
10.10:Map :
1,把键对象和值对象进行映射的集合, 它的每一个元素都包含一对键对象和值对象。
2,向Map集合中加入元素时, 必须提供一对键对象和值对象.
map.put(key,value);
3,从Map集合中检索元素时,只要给出键对象,就会返回对应的值对象。
value = map.get(key);
4,Map集合中的键对象不允许重复, 如果有多个相同的key那么上一次的值会被覆盖。
10.1: HashMap :是线程不安全的集合。
10.2: HashTable:是线程安全的集合。
10.3: TreeMap :可以进行排序(对key进行排序)
hashmap与hashtable的区别:
hashmap是非线程安全的,适合与单线程环境;键和值都允许有null存在;
hashtable是线程安全的,是同步的,适合于多线程环境,但效率低;
hashtable是遗留类,有很多内部实现没有优化,一般不用
10.4: HashMap :
判断key是否相同是