集合 LinkedList、ArrayList、Set、Treeset

 

LinkedList中特有的方法:数组

 1:方法介绍安全

addFirst(E e)数据结构

addLast(E e)spa

getFirst()线程

getLast()对象

removeFirst()排序

removeLast()继承

若是集合中没有元素,获取或者删除元接口

素抛:NoSuchElementException : 没有找到元素的异常队列

2:数据结构  : 可用来描述栈结构存储数据

1:栈 (1.6

先进后出  :栈的结构

   push()

pop()

2:队列(双端队列1.5

先进先出

offer()

poll()

3:返回逆序的迭代器对象      

descendingIterator()   返回逆序的迭代器对象

 

 

Vector  :用来描述线程安全的ArrayList  ArrayList 的使用同样  只是线程更安全一些  

Vector Arrays 的区别

相同点:vector ArrayList底层 都是经过Object数组来实现的

不一样点:

  1. ArrayList   线程不一样步  操做效率高  

  Vector  线程是同步的  操做效率低

  1. ArrayList 是在jdk1.2 出现的,vector  是在jdk1.0 就有了

 

Set集合  也是一个集合:继承Collection接口  特色:是无序的 、元素不能重复 元素不能用下标取得

 

TreeSet :使用元素的天然顺序对元素进行排序,底层使用二叉树实现

Treeset 使用注意点:

1.treeSet添加对象的时候,若是对象有这个天然排序的特性,就按照这个天然排序进行排序

2.TreeSet添加对象的时候,若是对象自己不具有天然排序的特性,运行的时候直接报错,若是须要存储对象,那么对象的类必需要实现comparable 接口   把元素的比较的规则定义在comparato 方法中

3.TreeSet 添加对象的时候,若是对象自己不具有天然排序的特性,而且没有实现comparable  接口 ,那么这个时候须要建立一个TreeSet的时候传入一个比较器,而且实现public int compare(Object o1, Object o2) 方法

比较器的定义方式:

 class 类名 implements Compartor{

    

}

 

实现compare方法

 public int compare(Object o1, Object o2) {

TODO Auto-generated method stub

o1 o2 集合中的对象  : book

//定义比较的规则。

Book b1 = (Book)o1;

Book b2 = (Book)o2;

 

return b1.id - b2.id;

}

 4.若是类中实现了Comparable 接口  又在建立TreeSet时传入了一个比较器 ,这个时候以比较器为标准。

相关文章
相关标签/搜索