JAVA复习之集合~~

集合:用于存储对象的长度可变的容器;
因为结构参数不同,形成了集合体系;


Collection 接口
共性方法:
添加:boolean add(obj);向集合中添加元素;
删除:
boolean remove();删除集合的某一个元素;
boolean clean(); 清空容器中的所有元素;
判断:
boolean contains();判断容器中是否有这个元素,有的话返回true;
isEmpty();判断集合是否为空;依据的是size方法;
获取:
Iterator iterotor(); 迭代器;遍历每个元素;
交集:
retainAll(); al.retainAll(all); 获取al容器与all容器相同的元素;
个数:
size();方法;


|--List:有序,可以重复,有角标;靠角标找到元素;
|--Set:无序,无重复,
转成数组 :T[] toArray(T() t);


------------------------------------------------------
List:
特有方法,依据角标识别元素;index角标;
添加(插入):add(index,obj);
删除:remove(index);
获取:get(index);
索引:
indexOf(obj);
lastList(obj);
取子列表
subList(start,end);包括头不包括尾
修改:set(index,obj);
list集合支持列表迭代器ListIterator();
Iterator在迭代时,只能对元素进行获取(next())和删除(remove)的操作;
Iterator的子接口ListIterator在迭代集合时,可以定义元素进行添加add(index,obj)、修改set(index,obj)的操


作;

List :
vector:底层是数组数据结构,jdk1.0开始出现。线程是同步的,被jdk1.2出现的ArrayList所替代,因为效率低;
----
一中特有的取出方式——枚举(Enumeration)
枚举的功能和迭代器功能一致,因方法名过长被取代;
----
ArrayList:底层是数组数据结构(可变长度数组:超出已有数组长度后会有新数组形成,并把原数组数据的复制新数组


中),jdk1.2出现,线程不是同步的,查询速度快;
      LinkedList:底层是链表数据结构,线程是不同步的,增删数据很快,可以使用该集合去模拟 队列(先进先出) 或者堆栈


(后进先出)数据结构;


-----
特有方法:
addFirst();------jdk1.6-------offerFirst();在此列表的开头插入指定的元素。
addLase();-------jdk1.6-------offerLast(); 在此列表末尾插入指定的元素。


getFirst()------jdk1.6-------peekFirst();获取但不移除此列表的第一个元素;如果此列表为空,则返回 null



getLast()------jdk1.6-------peekLast(); 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null





removeFirst()------jdk1.6-------pollFirst();获取并移除此列表的第一个元素;如果此列表为空,则返回 null



removeLast()------jdk1.6-------pollLast();获取并移除此列表的最后一个元素;如果此列表为空,则返回 null





















你可能感兴趣的:(java)