Set和List是collection子接口
Arraylist:
List list = new ArrayList();
-
底层数组:查询,遍历快,更新慢:(扩容,移位)
-
ArrayList底层数组实现,查询遍历快,更新慢,初始值为0,第一次添加10,之后扩容1.5倍,线程不安全
-
初始长度:0,第一次添加的10,11扩容:>>1,1.5倍
Linkedlist:
底层由链表实现,查询遍历慢,更新快,线程不安全
Null,可以重复
List list = new Linkedlist();
Hashset
内容不允许重复.hashcode无序:
Set set = new Hashset();
Treeset
1.可以排序:
2.可以存null,只能有一个null
Set set = new Treeset();
集合遍历:
Emp e = new Emp("张三",19,"男");
Emp e1 = new Emp("李四",12,"女");
Emp e2 = new Emp("王五",17,"男");
List list = new ArrayList();
list.add(e);
list.add(e1);
list.add(e2);
For
for(int i = 0; i < list.size() ; i++) {
System.out.println(list.get(i));
}
加强for
for(Object i: list) {
System.out.println(i);
}
迭代器
Iterator iter = list.iterator();
System.out.println(iter.next());
Map
泛型
泛型方法
//测试泛型方法
public void name() {
Integer name = name(10);
String name2 = name("10");
}
//泛型方法
public static <E> E name(E o) {
return o;
}
泛型类
public class Fx<E> {
private E e;
public E getE() {
return e;
}
public void setE(E e) {
this.e = e;
}
}
泛型接口
public interface Fx<T> {
T say(T t);
}
泛型构造函数
其他
Java集合的顶层接口
Collection和Map
List接口下的常用实现类
ArraryList,LinkedList,vector
Set结合接口的常用的实现类
HashSet,TreeSet
List集合的三种循环方式
For,Foreach,Iterator
map集合中常见的实现类
HashMaap,TreeMap
arraylist,,linklst的底层原理以及特点
ArrayList底层数组实现,查询遍历快,更新慢,初始值为0,第一次添加10,之后扩容1.5倍,线程不安全
LinkedList底层由双链表实现,查询遍历慢,更新快,线程不安全