1.数据结构
栈
先入后出
队列
先进先出
数组
长度固定
增删需要,创建新数组
链表
查询慢,增删快
单向链表
双向链表,一条记录顺序
红黑树
查询叶子最大次数,最小次数不能超过二倍
2.List
继承collection
add
get
remove
set
ArrayList
底层数组,查快,增删慢
LinkedList
底层是个链表结构:查询慢,增删快
addFirst
push
addLast
getFirst
getLast
isEmpty
removeFirst=pop
Vector
早期
3.set
接口 ,继承collection接口
不重复,没索引
hashSet
实现了set接口,底层哈希表结构(查询快)
遍历可用迭代器或增强for
哈希值
hashCode 由系统随机给出(对象的地址,逻辑地址)
alt+insert 直接出
LinkHashSet
有序,不允许重复
4.可变参数
0-多个
类型确定,参数个数不确定
一个方法只能有一个可变参数,可变参数在末尾
特殊写法 :Object…obj
public class Demo02Var {
public static void main(String[] args) {
int i=add(10,20,30);
System.out.println(i);
}
public static int add(int...arr){
int sum=0;
for (int i : arr) {
sum+=i;
}
return sum;
}
}
5.Collections集合工具类
addAll 插多个
shuffle 打乱
sort
排序,只能LIst不能set,要实现compareable,重写compareTo(规则)
o-this降序
this-o升序
comparator
o1-o2升序