Java集合接口

来源:互联网 发布:淘宝过户服务费 编辑:程序博客网 时间:2024/04/30 13:17
  1. 集合:一类相同类型的数据放到一起就是一个简单的集合。Java集合主要用来盛装其他的数据类型的引用,所以也称之为 容器
  2. 在Java集合类库将接口和实现进行了分离:
例如,队列接口interface Queue<E>{    void add(E element);    E remove();    int size();}而具体的实现有:LinkedList和ArrayDueue两个类,这是两个集合类, 模拟队列行为
  1. 集合接口和迭代器接口,利用迭代器接口来实现对某个集合的增、减、遍历等操作。
  2. Java类库中的基本接口是Collection接口,并且它扩展了Iteratable接口,
    “foreach”结构:for(T element:c){…},任何实现了Iterable的对象都可以使用,因为其中的iterator方法会返回一个Iterator迭代器

  3. 可以使用接口类型存放集合的引用:Queue<Customer>cu=new LinkedListQueue<>();这样就可以切换

  4. ArrayList、LinkedList与一般数组相比较是集合的大小是动态的变化的,而数组是固定的;Set相比较List中的元素保持着插入时的前后顺序关系;这两者相比较,ArrayList是用数组实现的,便于遍历,随机读取,但是在某个位置的插入效率往往很低。而LinkedList是用链表实现的,方便插入,但是不利于随机读取。
  5. 散列表HashSet:快速读取是但是无序.它是通过hash code和table来存储的。
  6. 树集 TreeSet:与HashSet相比较,它是有序的,”从小到大排序(相应的也可以从大到小排序)“,它是利用”红黑树“进行排序。在正确的位置上插入元素跟ArrayList和LinkedList相比较很快。插入一个元素的操作比HashSet相比比较慢。排序也是使用两种方案:实现Comparable接口、将“Comparator实例”作为参数进行初始化。所以,从存取速度上说一般Set比List快,如果需要有序则用TreeSet,否则就用HashSet.
  7. 优先级队列:无论怎么插入,里面的元素都是有序的“从小到大”,用堆实现 ,排序也是使用”Comparable“和“Comparator” 两种方式。与TreeSet相比较(to be continued)
0 0
原创粉丝点击