你的位置:首页 > 软件开发 > Java > Java集合:整体结构

Java集合:整体结构

发布时间:2016-05-31 09:00:09
一、Java中集合  Java中集合类是Java编程中使用最频繁、最方便的类。集合类作为容器类可以存储任何类型的数据,当然也可以结合泛型存储指定的类型(不过泛型仅仅在编译期有效,运行时是会被擦除的)。集合类中存储的仅仅是对象的引用,并不存储对象本身。集合类的容量可以在运行期间进行 ...

Java集合:整体结构

一、Java中集合

  Java中集合类是Java编程中使用最频繁、最方便的类。集合类作为容器类可以存储任何类型的数据,当然也可以结合泛型存储指定的类型(不过泛型仅仅在编译期有效,运行时是会被擦除的)。集合类中存储的仅仅是对象的引用,并不存储对象本身。集合类的容量可以在运行期间进行动态扩展,并且还提供很多很方便的方法,如求集合的并集、交集等。

二、集合类结构

  Java中的集合包含多种数据结构,如链表、队列、哈希表等。从类的继承结构来说,可以分为两大类,一类是继承自Collection接口,这类集合包含List、Set和Queue等集合类。另一类是继承自Map接口,这主要包含了哈希表相关的集合类。下面我们看一下这两大类的继承结构图:

1、List、Set和Queue

Java集合:整体结构

 图中的绿色的虚线代表实现,绿色实线代表接口之间的继承,蓝色实线代表类之间的继承。

   (1)List:我们用的比较多List包括ArrayList和LinkedList,这两者的区别也很明显,从其名称上就可以看出。ArrayList的底层的通过数组实现,所以其随机访问的速度比较快,但是对于需要频繁的增删的情况,效率就比较低了。而对于LinkedList,底层通过链表来实现,所以增删操作比较容易完成,但是对于随机访问的效率比较低。

我们先看下两者的插入效率:

 1 package com.paddx.test.collection; 2  3 import java.util.ArrayList; 4 import java.util.LinkedList; 5  6 public class ListTest { 7   public static void main(String[] args) { 8     for(int i=0;i<10000;i++){ 9 10     }11     long start = System.currentTimeMillis();12 13     LinkedList<Integer> linkedList = new LinkedList<Integer>();14     for(int i=0;i<100000;i++){15       linkedList.add(0,i);16     }17 18     long end = System.currentTimeMillis();19     System.out.println(end - start);20 21     ArrayList<Integer> arrayList = new ArrayList<Integer>();22     for(int i=0;i<100000;i++){23       arrayList.add(0,i);24     }25 26     System.out.println(System.currentTimeMillis() - end);27   }28 }

原标题:Java集合:整体结构

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。